commit
This commit is contained in:
@@ -1,75 +1,98 @@
|
||||
<style>
|
||||
.el-descriptions__table {
|
||||
table-layout: fixed !important;
|
||||
}
|
||||
|
||||
.el-descriptions-item__cell {
|
||||
text-align: center !important;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
|
||||
<div>
|
||||
<el-tabs tab-position="top" style="padding: 10px" v-model="activeName" v-loading="loading">
|
||||
<el-tabs tab-position="top" v-model="activeName" v-loading="loading">
|
||||
<el-tab-pane label="申请信息" name="1">
|
||||
<div style="padding: 10px">
|
||||
<border-table>
|
||||
<table>
|
||||
<tr>
|
||||
<th>经办人</th>
|
||||
<td>{{ viewData.manager_name }}</td>
|
||||
<th>被慰问人</th>
|
||||
<td>{{ viewData.be_username }}</td>
|
||||
<th>被慰问方式</th>
|
||||
<td>{{ viewData.way }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>慰问类型</th>
|
||||
<td>{{ viewData.typename }}</td>
|
||||
<th>{{ labelName }}</th>
|
||||
<td>{{ viewData.condolencetime }}</td>
|
||||
<th>慰问金额</th>
|
||||
<td>{{ viewData.money }}元</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>收款人</th>
|
||||
<td>{{ viewData.payee_username }}</td>
|
||||
<th>收款人卡号</th>
|
||||
<td>{{ viewData.payee_bank_number }}</td>
|
||||
<th>支行名称</th>
|
||||
<td>{{ viewData.payee_bank_name ? viewData.payee_bank_name : '暂未填写' }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>申请时间</th>
|
||||
<td>{{ viewData.apply_time }}</td>
|
||||
<th>备注</th>
|
||||
<td colspan="3">{{ viewData.remark }}</td>
|
||||
</tr>
|
||||
<el-descriptions :column="3" border class="table_fixed">
|
||||
<el-descriptions-item label="经办人姓名">
|
||||
{{viewData.manager_name}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="经办人工号">
|
||||
{{viewData.manager_loginname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="申请时间">
|
||||
{{viewData.apply_time}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问对象姓名">
|
||||
{{viewData.be_username}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问对象工号">
|
||||
{{viewData.be_loginname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问对象单位">
|
||||
{{viewData.be_unitname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="收款人姓名">
|
||||
{{viewData.payee_username}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="收款人工号">
|
||||
{{viewData.payee_loginname}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="">
|
||||
</el-descriptions-item>
|
||||
|
||||
<tr>
|
||||
<th>证明材料(出院小结、结婚证明、生育证明、退休文件或通知单等)</th>
|
||||
<td colspan="5">
|
||||
<file-upload view :files.sync="viewData.files"
|
||||
v-if="viewData.files&&viewData.files.length>0"></file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</border-table>
|
||||
<template v-if="viewData.way == '慰问品 (C)'">
|
||||
<el-divider content-position="left" style="margin-top: 0 !important;"><span style="color: #3ea1ec;">购置物品及价格</span></el-divider>
|
||||
<el-table :data="viewData.goods" border size="mini" style="width: 100%">
|
||||
<el-table-column sortable type="index" width="100" label="序号"
|
||||
align="center" header-align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="物品名称" align="center"
|
||||
header-align="center">
|
||||
<template slot-scope="{row}">
|
||||
<el-input maxlength="50" placeholder="物品名称" v-model="row.name"
|
||||
type="text"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="price" label="物品价格" align="center"
|
||||
header-align="center">
|
||||
<template slot-scope="{row}">
|
||||
<el-input maxlength="50" placeholder="物品价格" v-model="row.price"
|
||||
type="text"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-descriptions-item label="慰问类型">
|
||||
{{viewData.typename}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问金额">
|
||||
{{viewData.money}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问方式">
|
||||
{{viewData.way}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="慰问时间">
|
||||
{{viewData.occur_time}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.type === '2'" label="生育孩次">
|
||||
{{viewData.birth_child_num}}
|
||||
</el-descriptions-item>
|
||||
<template v-if="viewData.type === '3' || viewData.type === '4'">
|
||||
<el-descriptions-item label="治疗医院">
|
||||
{{viewData.the_hospital}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="病房号">
|
||||
{{viewData.the_hospital_house_num}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="床号">
|
||||
{{viewData.the_hospital_house_bed_num}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item v-if="viewData.type == '4'" label="患病病种">
|
||||
{{viewData.hospital_by}}
|
||||
</el-descriptions-item>
|
||||
</template>
|
||||
</div>
|
||||
<el-descriptions-item v-if="viewData.type == '6'" label="直系亲属">
|
||||
{{viewData.deadimmediatefamily}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="申请事由" span="3">
|
||||
{{viewData.remark}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" span="3">
|
||||
<file-upload v-if="viewData.files&&viewData.files.length"
|
||||
:files="viewData.files"
|
||||
:view="true"></file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签字" span="3">
|
||||
<div class="text-left">
|
||||
<el-image v-if="viewData.manager_sign_data"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.manager_sign_data"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="工会小组长审核信息" name="2" v-if="hasPane(2)&&viewData.ulr">
|
||||
<el-form label-width="130px" style="padding: 20px 0">
|
||||
@@ -92,7 +115,7 @@
|
||||
<el-form-item label="审核意见:">
|
||||
<div class="textarea-div">{{ viewData.ulr.opinion ? viewData.ulr.opinion : '暂无' }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="签  字:">
|
||||
<el-form-item label="签  字">
|
||||
<el-image v-if="viewData.ulr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.ulr.sign"
|
||||
@@ -101,68 +124,84 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="基层工会审核信息" name="3" v-if="hasPane(3)&&viewData.ucr">
|
||||
<el-form label-width="130px" style="padding: 20px 0">
|
||||
<el-tab-pane label="分工会审核信息" name="3" v-if="viewData.ucr">
|
||||
|
||||
<el-form-item label="审核信息 " label-width="135px" class="view-header">
|
||||
</el-form-item>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.ucr.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.ucr.time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核意见" span="2">
|
||||
<div class="text-left">
|
||||
{{ viewData.ucr.opinion ? viewData.ucr.opinion : '暂无' }}
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签字" span="2">
|
||||
<div class="text-left">
|
||||
<el-image v-if="viewData.ucr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.ucr.sign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员:">
|
||||
{{ viewData.ucr.username }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间:">
|
||||
{{ viewData.ucr.time }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="审核意见:">
|
||||
<div class="textarea-div">{{ viewData.ucr.opinion ? viewData.ucr.opinion : '暂无' }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="签  字:">
|
||||
<el-image v-if="viewData.ucr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.ucr.sign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="校工会主席审核信息" name="4" v-if="hasPane(4)&&viewData.vcr">
|
||||
<el-form label-width="130px" style="padding: 20px 0">
|
||||
<el-tab-pane label="校工会审核信息" name="4" v-if="viewData.fr">
|
||||
|
||||
<el-form-item label="审核信息 " label-width="135px" class="view-header">
|
||||
</el-form-item>
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.fr.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.fr.time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核意见" span="2">
|
||||
<div class="text-left">
|
||||
{{ viewData.fr.opinion ? viewData.fr.opinion : '暂无' }}
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签字" span="2">
|
||||
<div class="text-left">
|
||||
<el-image v-if="viewData.fr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.fr.sign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-row gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员:">
|
||||
{{ viewData.vcr.username }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间:">
|
||||
{{ viewData.vcr.time }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="审核意见:">
|
||||
<div class="textarea-div">{{ viewData.vcr.opinion ? viewData.vcr.opinion : '暂无' }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="签  字:">
|
||||
<el-image v-if="viewData.vcr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.vcr.sign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="校工会主席审核信息" name="5" v-if="viewData.vcr">
|
||||
<el-descriptions :column="2" border class="table_fixed">
|
||||
<el-descriptions-item label="审核人员">
|
||||
{{ viewData.vcr.username }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核时间">
|
||||
{{ viewData.vcr.time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核意见" span="2">
|
||||
<div class="text-left">
|
||||
{{ viewData.vcr.opinion ? viewData.vcr.opinion : '暂无' }}
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签字" span="2">
|
||||
<div class="text-left">
|
||||
<el-image v-if="viewData.vcr.sign"
|
||||
style="width: 300px; height: 100px"
|
||||
:src="viewData.vcr.sign"
|
||||
fit="contain"></el-image>
|
||||
<span v-else>暂无</span>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane v-if="handle" :label="label" name="999">
|
||||
<slot name="handle"></slot>
|
||||
@@ -199,7 +238,6 @@ module.exports = {
|
||||
activeName: "1",
|
||||
viewData: {},
|
||||
loading: true,
|
||||
labelName:''
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -222,16 +260,6 @@ module.exports = {
|
||||
condolence.toFormData(data)
|
||||
this.viewData = data
|
||||
|
||||
if (['c7175af55693441e8233be4552cef9d5','c138149575564b159b5919a97e856642'].includes(data.type)){
|
||||
this.labelName = '住院时间'
|
||||
} else if (data.type === '7420d077e768480795538e1396cb4945') {
|
||||
this.labelName = '结婚时间'
|
||||
} else if (data.type === '29cf78eea88d40128f639b9ae7b6aaaa') {
|
||||
this.labelName = '生育时间'
|
||||
} else if (data.type === 'c0465e50ff1e45f49fad8938e5dad537') {
|
||||
this.labelName = '退休时间'
|
||||
}
|
||||
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$message({
|
||||
@@ -253,9 +281,4 @@ module.exports = {
|
||||
max-height: 100px;
|
||||
}
|
||||
|
||||
.el-divider--horizontal {
|
||||
margin-top: 40px !important;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,58 +1,150 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-cell class="cell-card">
|
||||
<van-field readonly :value="viewData.manager_name" label="经办人" input-align="right"></van-field>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-field readonly :value="viewData.apply_time" label="申请时间" input-align="right"></van-field>
|
||||
|
||||
<van-field readonly :value="viewData.be_username" label="被慰问人"
|
||||
input-align="right"></van-field>
|
||||
|
||||
<van-field readonly :value="viewData.payee_username" label="收款人"
|
||||
input-align="right"></van-field>
|
||||
|
||||
<van-field readonly :value="viewData.bank_card" label="收款人银行卡号" input-align="right"></van-field>
|
||||
|
||||
<van-field readonly name="type" :value="condolence.type[viewData.type]" label="慰问类型"
|
||||
input-align="right"></van-field>
|
||||
|
||||
<van-field readonly name="way" :value="condolence.way[viewData.way]" label="慰问方式" input-align="right"></van-field>
|
||||
|
||||
<van-field readonly :value="viewData.money" type="number" label="慰问金额" input-align="right"></van-field>
|
||||
|
||||
<div v-if="['3', '5'].includes(viewData.type)">
|
||||
<van-cell title="住院开始时间">
|
||||
{{ viewData.starting_time }}
|
||||
</van-cell>
|
||||
<van-cell title="住院结束时间">
|
||||
{{ viewData.end_time }}
|
||||
</van-cell>
|
||||
<van-cell title="住院结束时间">
|
||||
{{ viewData.the_hospital }}
|
||||
</van-cell>
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
申请信息
|
||||
</div>
|
||||
</div>
|
||||
<van-field readonly :value="viewData.remark" label="备  注" input-align="right"
|
||||
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
|
||||
|
||||
<!-- <van-field label="附  件">-->
|
||||
<!-- <template #input>-->
|
||||
<!-- <van-uploader disabled v-model="viewData.files"></van-uploader>-->
|
||||
<!-- </template>-->
|
||||
<!-- </van-field>-->
|
||||
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.manager_sign"/>
|
||||
<van-cell-group>
|
||||
<van-field readonly :value="viewData.manager_name" label="申请人"></van-field>
|
||||
<van-field readonly :value="viewData.apply_time" label="申请时间"></van-field>
|
||||
<van-field readonly :value="viewData.be_username" label="慰问对象"></van-field>
|
||||
<van-field readonly :value="viewData.typename" name="type" label="慰问类型"></van-field>
|
||||
<van-field readonly :value="viewData.money" type="number" label="慰问金额"></van-field>
|
||||
<van-field readonly :value="viewData.way" name="way" label="慰问方式"></van-field>
|
||||
<van-field readonly :value="viewData.occur_time" name="occur_time" label="慰问时间"></van-field>
|
||||
<van-field readonly :value="viewData.birth_child_num" name="birth_child_num" v-if="viewData.type === '2'" label="生育孩次"></van-field>
|
||||
<template v-if="viewData.type === '3' || viewData.type === '4'">
|
||||
<van-field readonly :value="viewData.the_hospital" name="the_hospital" label="治疗医院"></van-field>
|
||||
<van-field readonly :value="viewData.the_hospital_house_num" name="the_hospital_house_num" label="病房号"></van-field>
|
||||
<van-field readonly :value="viewData.the_hospital_house_bed_num" name="the_hospital_house_bed_num" label="床号"></van-field>
|
||||
<van-field readonly :value="viewData.hospital_by" name="hospital_by" v-if="viewData.type === '4'" label="患病病种"></van-field>
|
||||
</template>
|
||||
</van-field>
|
||||
<van-field readonly :value="viewData.deadImmediateFamily" name="deadImmediateFamily" v-if="viewData.type === '6'" label="直系亲属"></van-field>
|
||||
<van-field readonly :value="viewData.remark" label="申请事由"
|
||||
input-align="left"
|
||||
style="flex-flow: column"
|
||||
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
|
||||
<van-field label="附件" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">附  件</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="viewData.files" view :del="false"
|
||||
v-if="viewData.files&&viewData.files.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.manager_sign_data"
|
||||
v-if="viewData.manager_sign_data"/>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
|
||||
<template v-if="viewData.ucr">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审 核 人" :value="viewData.ucr.username" left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.ucr.time" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.ucr.opinion ? viewData.ucr.opinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.ucr.sign"
|
||||
v-if="viewData.ucr.sign"/>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="viewData.fr">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审 核 人" :value="viewData.fr.username" left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.fr.time" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.fr.opinion ? viewData.fr.opinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.fr.sign"
|
||||
v-if="viewData.fr.sign"/>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
|
||||
<template v-if="viewData.vcr">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会主席审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审 核 人" :value="viewData.vcr.username" left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.vcr.time" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.vcr.opinion ? viewData.vcr.opinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.vcr.sign"
|
||||
v-if="viewData.vcr.sign"/>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</van-cell>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
@@ -63,13 +155,16 @@ module.exports = {
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
},
|
||||
methods: {
|
||||
async getInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/fw/condolence/findOne", {id})
|
||||
if (data) {
|
||||
condolence.toFormData(data)
|
||||
this.viewData = data
|
||||
console.log(this.viewData.end_time)
|
||||
this.viewData.hospital_stay = data.starting_time + "-" + data.end_time
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$toast.fail('获取信息失败');
|
||||
@@ -81,3 +176,17 @@ module.exports = {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -37,14 +37,11 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="type" label="变更类型">
|
||||
<!-- <dict-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"-->
|
||||
<!-- code="MemberChangeType" @change="typeChange"></dict-select>-->
|
||||
<el-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型" @change="typeChange">
|
||||
<el-option v-for="item in userChangeTypeList" :label="item.name" :value="item.code" :key="item.id"></el-option>
|
||||
</el-select>
|
||||
<dict-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"
|
||||
code="MemberChangeType" @change="typeChange"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<!--异动-->
|
||||
<!--单位异动-->
|
||||
<div v-if="formData.type==='1'">
|
||||
<el-form-item prop="type" label="新 单 位">
|
||||
<el-select v-model="formData.currentUnitId" style="width: 100%" filterable clearable
|
||||
@@ -84,102 +81,30 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-else-if="welfare_member&&['2'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfareMember" label="福利会员">
|
||||
<el-radio-group v-model="formData.updateWelfareMember" size="small">
|
||||
<el-radio :label="true" border>享受福利</el-radio>
|
||||
<el-radio :label="false" border>不享受福利</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item prop="insertMember" label="工会会员">
|
||||
<el-radio-group v-model="formData.insertMember" size="small">
|
||||
<el-radio :label="true" border>成为会员</el-radio>
|
||||
<el-radio :label="false" border>不成为会员</el-radio>
|
||||
</el-radio-group>
|
||||
<!--离校 离退休-->
|
||||
<div v-if="formData.type && !['1','7','8'].includes(formData.type)">
|
||||
<div>
|
||||
<el-form-item prop="updateMember" label="工会会员资格">
|
||||
<el-switch
|
||||
v-model="formData.updateMember"
|
||||
active-text="移除"
|
||||
inactive-text="添加">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-form-item prop="updateWelfare" label="福利会员资格">
|
||||
<el-switch
|
||||
v-model="formData.updateWelfare"
|
||||
active-text="移除"
|
||||
inactive-text="添加">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div v-else-if="welfare_member&&['7'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfareMember" label="福利会员">
|
||||
<el-radio-group v-model="formData.updateWelfareMember" size="small">
|
||||
<el-radio :label="true" border>享受福利</el-radio>
|
||||
<el-radio :label="false" border>不享受福利</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div v-else-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfare" label="福利会员">
|
||||
<el-radio-group v-model="formData.updateWelfare" size="small">
|
||||
<el-radio :label="true" border>取消享受福利</el-radio>
|
||||
<el-radio :label="false" border>保留享受福利</el-radio>
|
||||
</el-radio-group>
|
||||
<!-- <span style="color: red">   温馨提醒:此操作将取消该教工正式会员资格</span>-->
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="updateMember" label="工会会员">
|
||||
<el-radio-group v-model="formData.updateMember" size="small">
|
||||
<el-radio :label="true" border>取消会员资格</el-radio>
|
||||
<el-radio :label="false" border>保留会员资格</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="updateUserState" label="是否改变在职状态" style="width: 100%"
|
||||
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
|
||||
<dict-select v-model="formData.userState" style="width: 100%" clearable placeholder="变更类型"
|
||||
code="userState"></dict-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="updateUserState" label="是否改变人员类型" style="width: 100%"
|
||||
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
|
||||
<dict-select v-model="formData.personType" style="width: 100%" clearable
|
||||
placeholder="人员类型"
|
||||
code="UserType"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-else-if="formData.type==='10'">
|
||||
<el-form-item prop="oldIdCard" label="原身份证号" style="width: 100%">
|
||||
<el-input v-model="formData.oldIdCard" readonly type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="idCard" label="新的身份证号" style="width: 100%">
|
||||
<el-input v-model="formData.idCard" placeholder="请输入新的身份证号" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div v-else-if="formData.type==='11'">
|
||||
<el-form-item prop="oldMobile" label="原手机号码" style="width: 100%">
|
||||
<el-input v-model="formData.oldMobile" readonly type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="mobile" label="新的手机号码" style="width: 100%">
|
||||
<el-input v-model="formData.mobile" placeholder="请输入新的手机号码" type="text"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div v-else-if="formData.type==='12'">
|
||||
<el-form-item prop="oldEducation" label="原学历" style="width: 100%">
|
||||
<el-input v-model="formData.oldEducation" readonly type="text"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="education" label="新的学历" style="width: 100%">
|
||||
<dict-select v-model="formData.education" style="width: 100%" clearable placeholder="请选择新的学历"
|
||||
code="Education"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<!-- <div v-else-if="welfare_member&&['2','7'].includes(formData.type)">
|
||||
<el-form-item prop="updateWelfareMember" label="是否享受福利">
|
||||
<el-switch
|
||||
v-model="formData.updateWelfareMember"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
<span style="color: red">   温馨提醒:此操作将该教工设为正式会员</span>
|
||||
</el-form-item>
|
||||
</div>-->
|
||||
|
||||
<el-form-item prop="remark" label="变化原因">
|
||||
<el-input v-model="formData.remark" placeholder="变化原因" type="textarea" :rows="4"></el-input>
|
||||
</el-form-item>
|
||||
@@ -197,11 +122,10 @@
|
||||
<script>
|
||||
module.exports = {
|
||||
components: {
|
||||
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0'),
|
||||
},
|
||||
props: {
|
||||
userid: {type: String},
|
||||
welfare_member: {type: Boolean, default: true},
|
||||
welfare_member: {type: Boolean, default: false},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -212,22 +136,18 @@ module.exports = {
|
||||
formData: {},
|
||||
formRules: {
|
||||
type: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
updateWelfareMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
updateMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
updateWelfare: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
currentUnitId: [{required: true, message: '必选', trigger: ['blur', 'change']}],
|
||||
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}],
|
||||
idCard: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
education: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
insertMember: [{required: true, message: '必填', trigger: ['blur', 'change']}],
|
||||
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}]
|
||||
},
|
||||
|
||||
unitOptions: [],
|
||||
threeUnits: [],
|
||||
isThreeUnit: false,
|
||||
|
||||
userChangeTypeList:[],
|
||||
memberChangeTypeOptions: []
|
||||
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -237,14 +157,16 @@ module.exports = {
|
||||
},
|
||||
methods: {
|
||||
typeChange() {
|
||||
this.$set(this.formData, "updateWelfareMember", ['2','7'].includes(this.formData.type))
|
||||
this.$set(this.formData, "updateWelfare", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
|
||||
this.$set(this.formData, "updateMember", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
|
||||
this.$set(this.formData, "insertMember", ['2'].includes(this.formData.type))
|
||||
console.log(this.formData.type)
|
||||
this.$set(this.formData, "updateWelfare", ['3', '5'].includes(this.formData.type))
|
||||
this.$set(this.formData, "updateMember", ['3', '5'].includes(this.formData.type))
|
||||
},
|
||||
async doSubmit() {
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.formData.type != 1) {
|
||||
this.formData.userState = this.memberChangeTypeOptions.find(v => v.code === this.formData.type)?.name
|
||||
}
|
||||
this.submitLoading = true
|
||||
this.$emit("submit", this.formData)
|
||||
}
|
||||
@@ -317,13 +239,9 @@ module.exports = {
|
||||
originUnitId: resp.data.unitid,
|
||||
originThreeUnitId: resp.data.threeUnitId,
|
||||
originUnionId: resp.data.unionid,
|
||||
userState: resp.data.userState,
|
||||
personType: resp.data.personType,
|
||||
// userState: resp.data.userState,
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
notes: null,
|
||||
oldIdCard:resp.data.idcard,
|
||||
oldMobile:resp.data.mobile,
|
||||
oldEducation:resp.data.education
|
||||
notes: null
|
||||
}
|
||||
this.disabled = false
|
||||
} else {
|
||||
@@ -340,19 +258,17 @@ module.exports = {
|
||||
if (resp.code === 0) {
|
||||
this.unitOptions = resp.data
|
||||
}
|
||||
},
|
||||
async getUserChangeType(){
|
||||
const resp = await $.get('/platform/member/common/getUserChangType')
|
||||
if (resp.code === 0){
|
||||
this.userChangeTypeList = resp.data
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
|
||||
await this.getUnits()
|
||||
await this.flush()
|
||||
await this.getUserChangeType()
|
||||
this.getUnits()
|
||||
this.flush()
|
||||
|
||||
getDictOptions('MemberChangeType').then(res => {
|
||||
this.memberChangeTypeOptions = res
|
||||
})
|
||||
|
||||
// getUnits(null).then(res => this.unitOptions = res)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,157 +1,41 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-table :data="records" style="width: 100%" row-key="id"
|
||||
@expand-change="onExpand">
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="{row}">
|
||||
<el-form class="demo-table-expand" v-loading="row.loading"
|
||||
label-position="right" label-suffix=":" label-width="120px">
|
||||
|
||||
<vi-title title="变更信息"></vi-title>
|
||||
|
||||
<el-form-item label="变更原因">
|
||||
{{ row.remark }}
|
||||
</el-form-item>
|
||||
|
||||
<!--异动-->
|
||||
<template v-if="row.type==1">
|
||||
|
||||
<vi-title title="异动信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原科室" v-if="isThreeUnit">
|
||||
<span>{{ row.originThreeUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原单位">
|
||||
<span>{{ row.originUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="原工会">
|
||||
<span>{{ row.originUnionName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8" v-if="isThreeUnit">
|
||||
<el-form-item label="新科室">
|
||||
<span>{{ row.currentThreeUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="新单位">
|
||||
<span>{{ row.currentUnitName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="新工会">
|
||||
<span>{{ row.currentUnionName }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<template v-if="audit_info_union&&row.info.unionAudit">
|
||||
<vi-title title="基层工会审核信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20" v-if="row.info&&row.info.unionAudit">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员">
|
||||
<span>{{ row.info.unionAudit.username }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间">
|
||||
<span>{{ row.info.unionAudit.auditTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="审核意见">
|
||||
<span>{{ row.info.unionAudit.auditOpinion }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-else type="flex" justify="center">
|
||||
<el-form-item label="暂无审核信息">
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<template v-if="audit_info_school&&row.info.schoolAudit">
|
||||
<vi-title title="校工会审核信息"></vi-title>
|
||||
|
||||
<el-row :gutter="20" v-if="row.info&&row.info.schoolAudit">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人员">
|
||||
<span>{{ row.info.schoolAudit.username }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核时间">
|
||||
<span>{{ row.info.schoolAudit.auditTime }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="审核意见">
|
||||
<span>{{ row.info.schoolAudit.auditOpinion }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row v-else type="flex" justify="center">
|
||||
<el-form-item label="暂无审核信息">
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" header-align="center" label="序号"
|
||||
type="index"></el-table-column>
|
||||
|
||||
<el-table-column label="申请人" prop="username" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="申请时间" prop="applyTime" header-align="center"
|
||||
align="center"></el-table-column>
|
||||
|
||||
<el-table-column label="申请方式" prop="type" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row:{applyOrigin}}">
|
||||
{{ changeOrigin[applyOrigin] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="变更类型" prop="type" header-align="center"
|
||||
align="center">
|
||||
<template scope="{row:{type}}">
|
||||
{{ changeType[type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="状态" prop="stateId" header-align="center"
|
||||
align="center">
|
||||
<el-table :data="memberHistoryRecords" border>
|
||||
<el-table-column type="index" label="序号" width="80px"></el-table-column>
|
||||
<el-table-column label="工号" prop="loginname"></el-table-column>
|
||||
<el-table-column label="姓名" prop="username"></el-table-column>
|
||||
<el-table-column label="变更来源" prop="changeOrigin">
|
||||
<template scope="{row}">
|
||||
<span :style="'color:'+row.stateColor">{{ row.stateName }}</span>
|
||||
{{ memberChangeOriginOptions.find(v => v.code == row.changeOrigin)?.description }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="变更时间" prop="changeTime"></el-table-column>
|
||||
<el-table-column label="异动类型" prop="changeTypes">
|
||||
<template scope="{row}">
|
||||
<span style="color: #0e78c5;cursor: pointer" @click="openUserChangeInfo(row)">
|
||||
{{
|
||||
userChangeTypeOptions.filter(v => row.changeTypes.includes(v.code)).map(v => v.description).join()
|
||||
}}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="stateId">
|
||||
<template scope="{row}">
|
||||
<vi-table-state v-if="row.stateId" :state="row"></vi-table-state>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</el-table>
|
||||
|
||||
<user-change-history ref="userChangeHistory"></user-change-history>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
components: {},
|
||||
components: {
|
||||
'user-change-history': httpVueLoader('/components/userChangeHistory/userChangeHistory.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
props: {
|
||||
records: {type: Array, default: []},
|
||||
userid: {type: String},
|
||||
@@ -168,14 +52,36 @@ module.exports = {
|
||||
loading: true,
|
||||
changeType: {},
|
||||
changeOrigin: {},
|
||||
|
||||
memberHistoryRecords: [],
|
||||
|
||||
memberChangeOriginOptions: [],
|
||||
userChangeTypeOptions: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
userid(val) {
|
||||
this.getMemberChangeRecords()
|
||||
this.getMemberHistoryRecords()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getMemberHistoryRecords() {
|
||||
const {code, msg, data} = await $.get("/platform/member/common/memberHistoryRecords", {userId: this.userid})
|
||||
if (code === 0) {
|
||||
data.forEach(v => {
|
||||
if (v.changeTypes) {
|
||||
v.changeTypes = JSON.parse(v.changeTypes)
|
||||
}
|
||||
})
|
||||
this.memberHistoryRecords = data
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
openUserChangeInfo({id}) {
|
||||
this.$refs.userChangeHistory.openUserChangeInfo(id)
|
||||
},
|
||||
|
||||
async onExpand(row, expandedRows) {
|
||||
if (!expandedRows.includes(row)) {
|
||||
@@ -220,10 +126,16 @@ module.exports = {
|
||||
async created() {
|
||||
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
|
||||
this.getMemberChangeRecords()
|
||||
|
||||
|
||||
this.changeType = await member.getChangeType()
|
||||
this.changeOrigin = await member.getChangeOrigin()
|
||||
|
||||
getEnumOptions('MemberChangeOrigin').then(res => {
|
||||
this.memberChangeOriginOptions = res
|
||||
})
|
||||
getEnumOptions('UserChangeType').then(res => {
|
||||
this.userChangeTypeOptions = res
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
module.exports = {
|
||||
name: "MemberCnd",
|
||||
props: {},
|
||||
components: {'enum-select': httpVueLoader('/components/plugins/EnumSelect.vue?v=1.0.0'),},
|
||||
data() {
|
||||
return {
|
||||
columnInfos: [],
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="!view">
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px" v-loading="loading"
|
||||
<el-form :model="formData" ref="form" :rules="formRules" label-width="120px"
|
||||
v-loading="loading"
|
||||
:disabled="!isAllowModify">
|
||||
<el-tabs v-model="activeName" type="card">
|
||||
|
||||
@@ -18,7 +19,8 @@
|
||||
style="width: 100%"
|
||||
filterable @change="unitChange"
|
||||
v-model="formData.unitid">
|
||||
<el-option v-for="unit in unitOptions" :key="unit.id" :value="unit.id" :label="unit.name"></el-option>
|
||||
<el-option v-for="unit in unitOptions" :key="unit.id" :value="unit.id"
|
||||
:label="unit.name"></el-option>
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
@@ -28,7 +30,7 @@
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="10" v-if="displayUnionGroup">
|
||||
<el-row :gutter="10" v-if="isThreeUnit">
|
||||
<el-col :xs="24" :lg="12">
|
||||
<el-form-item label="所属三级单位" prop="deptId">
|
||||
<el-select v-model="formData.threeUnitId"
|
||||
@@ -68,7 +70,8 @@
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="birthday" label="出生日期">
|
||||
<el-date-picker style="width: 100%" v-model="formData.birthday" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" type="date" placeholder="出生日期"></el-date-picker>
|
||||
value-format="yyyy-MM-dd" type="date"
|
||||
placeholder="出生日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sex" label="性  别">
|
||||
<el-radio v-model="formData.sex" label="男" border size="small">男</el-radio>
|
||||
@@ -97,7 +100,8 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="academicDegree" label="学  位">
|
||||
<dict-select v-model="formData.academicDegree" style="width: 100%" placeholder="请选择学位"
|
||||
<dict-select v-model="formData.academicDegree" style="width: 100%"
|
||||
placeholder="请选择学位"
|
||||
code="academicDegree"></dict-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
@@ -114,12 +118,15 @@
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="nation" label="民  族">
|
||||
<el-select placeholder="民族" style="width: 100%" filterable v-model="formData.nation">
|
||||
<el-option v-for="nation in nationOptions" :key="nation" :value="nation" :label="nation"></el-option>
|
||||
<el-select placeholder="民族" style="width: 100%" filterable
|
||||
v-model="formData.nation">
|
||||
<el-option v-for="nation in nationOptions" :key="nation" :value="nation"
|
||||
:label="nation"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="political" label="政治面貌">
|
||||
<el-input maxlength="100" placeholder="政治面貌" v-model="formData.political"></el-input>
|
||||
<el-input maxlength="100" placeholder="政治面貌"
|
||||
v-model="formData.political"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
@@ -215,7 +222,8 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="specialSkill" label="专  长">
|
||||
<el-input maxlength="100" placeholder="专长" v-model="formData.specialSkill"></el-input>
|
||||
<el-input maxlength="100" placeholder="专长"
|
||||
v-model="formData.specialSkill"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
@@ -298,7 +306,8 @@
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="majorCategory" label="所学专业类别">
|
||||
<el-input maxlength="50" placeholder="所学专业类别" v-model="formData.majorCategory"></el-input>
|
||||
<el-input maxlength="50" placeholder="所学专业类别"
|
||||
v-model="formData.majorCategory"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="profession" label="从事专业">
|
||||
@@ -322,9 +331,11 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="vita" label="个人简历">
|
||||
<div id="vitaEditor"></div>
|
||||
<el-input maxlength="500" placeholder="请填写个人工作简历"
|
||||
v-model="formData.vita" type="textarea"
|
||||
rows="3"></el-input>
|
||||
</el-form-item>
|
||||
<!-- </el-form>-->
|
||||
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="会员信息" :name="3">
|
||||
@@ -333,8 +344,10 @@
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="memberJoinTime" label="入会日期">
|
||||
<el-date-picker style="width: 100%" v-model="formData.memberJoinTime" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" type="date" placeholder="入会日期"></el-date-picker>
|
||||
<el-date-picker style="width: 100%" v-model="formData.memberJoinTime"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" type="date"
|
||||
placeholder="入会日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="memberNumber" label="会 员 号">
|
||||
@@ -465,7 +478,8 @@
|
||||
|
||||
<div class="is-flex">
|
||||
<el-form-item prop="otherContactInformation" label="其他联系方式">
|
||||
<el-input v-model="formData.otherContactInformation" placeholder="其他联系方式"></el-input>
|
||||
<el-input v-model="formData.otherContactInformation"
|
||||
placeholder="其他联系方式"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item prop="registeredResidence" label="户籍所在地">
|
||||
@@ -502,18 +516,21 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="姓名" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入姓名" maxlength="100" v-model="scope.row.name" clearable></el-input>
|
||||
<el-input placeholder="请输入姓名" maxlength="100" v-model="scope.row.name"
|
||||
clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="unit" label="单位" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入单位" maxlength="100" v-model="scope.row.unit" clearable></el-input>
|
||||
<el-input placeholder="请输入单位" maxlength="100" v-model="scope.row.unit"
|
||||
clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" header-align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input placeholder="请输入备注" maxlength="100" v-model="scope.row.remark" clearable></el-input>
|
||||
<el-input placeholder="请输入备注" maxlength="100" v-model="scope.row.remark"
|
||||
clearable></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -532,7 +549,8 @@
|
||||
</el-form>
|
||||
|
||||
|
||||
<el-button v-if="has_bottom_btn" @click="save" :loading="submitLoading" type="primary" style="float: right">提交
|
||||
<el-button v-if="has_bottom_btn" @click="save" :loading="submitLoading" type="primary"
|
||||
style="float: right">提交
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
@@ -584,13 +602,21 @@
|
||||
{{ formData.political }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="入校时间">
|
||||
{{ formData.schoolTime }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="出生日期">
|
||||
{{ formData.birthday }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row gutter="20">
|
||||
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="籍  贯">
|
||||
@@ -721,12 +747,7 @@
|
||||
|
||||
|
||||
<script>
|
||||
let vitaEditor = null
|
||||
|
||||
module.exports = {
|
||||
components: {
|
||||
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.4'),
|
||||
},
|
||||
props: {
|
||||
id: {type: String},
|
||||
view: {type: Boolean, default: false},
|
||||
@@ -761,7 +782,7 @@ module.exports = {
|
||||
},
|
||||
nationOptions: nation,
|
||||
threeUnits: [],
|
||||
displayUnionGroup: false,
|
||||
isThreeUnit: false,
|
||||
isAllowModify: false
|
||||
}
|
||||
},
|
||||
@@ -868,7 +889,6 @@ module.exports = {
|
||||
},
|
||||
|
||||
load(data) {
|
||||
console.log(data)
|
||||
if (this.$refs['form']) {
|
||||
this.$refs['form'].resetFields()
|
||||
}
|
||||
@@ -885,16 +905,6 @@ module.exports = {
|
||||
data.effectiveDate = [data.beginningDate, data.endDate]
|
||||
}
|
||||
this.formData = data
|
||||
this.$nextTick(() => {
|
||||
$("#vitaEditor").html("")
|
||||
|
||||
vitaEditor = new wangEditor("#vitaEditor")
|
||||
vitaEditor.config.onchange = (html) => {
|
||||
this.formData.vita = html
|
||||
}
|
||||
vitaEditor.create()
|
||||
vitaEditor.txt.html(data.vita)
|
||||
})
|
||||
},
|
||||
|
||||
async getUserInfo() {
|
||||
@@ -905,13 +915,15 @@ module.exports = {
|
||||
this.load({})
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnionUnits()
|
||||
this.displayUnionGroup = await getConfigKey('SysUnionGroup') === 'true'
|
||||
this.isAllowModify = await getConfigKey('MemberInfoModify') === 'true'
|
||||
this.loading = false
|
||||
return
|
||||
}
|
||||
|
||||
const resp = await $.get("/platform/member/common/userInfo", {userId: this.id, source: this.source})
|
||||
const resp = await $.get("/platform/member/common/userInfo", {
|
||||
userId: this.id,
|
||||
source: this.source
|
||||
})
|
||||
this.loading = false
|
||||
if (resp.code === 0) {
|
||||
const data = resp.data
|
||||
this.unitOptions = await getUnits(data.unionid)
|
||||
@@ -923,7 +935,6 @@ module.exports = {
|
||||
message: '获取用户信息失败'
|
||||
});
|
||||
}
|
||||
this.loading = false
|
||||
},
|
||||
|
||||
handlePictureCardPreview(file) {
|
||||
@@ -972,7 +983,7 @@ module.exports = {
|
||||
await this.getUserInfo()
|
||||
this.unionOptions = await getUnions(null)
|
||||
this.unitOptions = await getUnionUnits()
|
||||
this.displayUnionGroup = await getConfigKey('SysUnionGroup') === 'true'
|
||||
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
|
||||
this.isAllowModify = await getConfigKey('MemberInfoModify') === 'true'
|
||||
}
|
||||
}
|
||||
@@ -990,4 +1001,4 @@ module.exports = {
|
||||
.el-picker-panel {
|
||||
z-index: 9999999 !important;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
基础信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly :value="viewData.username" label="姓名"></van-field>
|
||||
<van-field readonly :value="viewData.loginname" label="工资号"></van-field>
|
||||
<van-field readonly :value="viewData.unitname" label="单位"></van-field>
|
||||
<van-field readonly :value="viewData.unionname" label="工会"></van-field>
|
||||
</van-cell-group>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
作品信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly name="type" :value="viewData.zpzt" label="作品主题"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.lname" label="活动类别"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.zname" label="作品类别"></van-field>
|
||||
<van-field readonly :value="viewData.zpms" label="简介"
|
||||
input-align="left"
|
||||
style="flex-flow: column"
|
||||
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
|
||||
|
||||
<van-field label="照片" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">照  片</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="img2List" view :del="false"
|
||||
v-if="img2List&&img2List.length>0"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="视频" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">视  频</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<template v-for="item in videoList" v-if="videoList.length>0">
|
||||
<video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto"
|
||||
width="640" height="264"
|
||||
data-setup="{}" webkit-playsinline='true' playsinline='true' x-webkit-airplay='true'
|
||||
x5-video-player-type='h5' x5-video-player-fullscreen='true' x5-video-ignore-metadata='true'>
|
||||
<source :src="FILE_DOMAIN+item.filepath" type="video/mp4">
|
||||
</video>
|
||||
</template>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有音频。
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="音频" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">音  频</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<template v-for="item in videoList" v-if="audioList.length>0">
|
||||
<audio id="amusic" preload="auto" controls style="width: 100%;outline: none;">
|
||||
<source :src="FILE_DOMAIN+item.filepath"/>
|
||||
</audio>
|
||||
</template>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有音频。
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="文档" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">文  档</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<template v-for="(item,index) in docList" v-if="docList.length>0">
|
||||
<div class="text-nowrap color-puple"
|
||||
@click="previewFile(item.filepath,item.filename,docList,index,item.id)">
|
||||
{{ item.filename }}
|
||||
</div>
|
||||
</template>
|
||||
<div v-else style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有文档。
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
videoList: [],
|
||||
prevImgList: [],
|
||||
img2List: [],
|
||||
audioList: [],
|
||||
docList: [],
|
||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg'],
|
||||
doctype: ['doc', 'docx'],
|
||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
},
|
||||
methods: {
|
||||
async getInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/hd/wmhd/findOneById", {id})
|
||||
const refs = await $.get("/mobile/cahd/list/findOne", {id})
|
||||
|
||||
if (refs) {
|
||||
this.viewData = refs[0]
|
||||
data.forEach(val => {
|
||||
val.fjname = val.filename
|
||||
val.fjurl = val.filepath
|
||||
val.url = FILE_DOMAIN + val.filepath
|
||||
let filetype = val.fjname.substring(val.fjname.lastIndexOf('.') + 1, val.fjname.length).toLowerCase();
|
||||
if (this.videotype.indexOf(filetype) > -1) {
|
||||
this.videoList.push(val);
|
||||
} else if (this.imgtype.indexOf(filetype) > -1) {
|
||||
this.prevImgList.push(FILE_DOMAIN + val.filepath)
|
||||
this.img2List.push(val);
|
||||
} else if (this.doctype.indexOf(filetype) > -1) {
|
||||
this.docList.push(val);
|
||||
} else if (this.audiotype.indexOf(filetype) > -1) {
|
||||
this.audioList.push(val);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$toast.fail('获取信息失败');
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
基础信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly :value="viewData.username" label="姓名"></van-field>
|
||||
<van-field readonly :value="viewData.sex" label="性别"></van-field>
|
||||
<van-field readonly :value="viewData.loginname" label="工号"></van-field>
|
||||
<van-field readonly :value="viewData.unitName" label="工作部门"></van-field>
|
||||
<van-field readonly :value="viewData.mobile" label="电话"></van-field>
|
||||
<van-field readonly :value="viewData.QQNumber" label="QQ"></van-field>
|
||||
<van-field readonly :value="viewData.hobby" label="爱好"></van-field>
|
||||
<van-field readonly :value="viewData.sickness" label="是否患有运动限制类疾病"></van-field>
|
||||
<van-field readonly :value="viewData.familyUserName" label="紧急联系人姓名"></van-field>
|
||||
<van-field readonly :value="viewData.familyRelation" label="紧急联系人关系"></van-field>
|
||||
<van-field readonly :value="viewData.familyMobile" label="紧急联系人电话"></van-field>
|
||||
<van-field readonly :value="viewData.project" label="擅长项目"></van-field>
|
||||
<van-field readonly :value="viewData.selfSkill" label="个人技能水平"></van-field>
|
||||
<van-field readonly :value="viewData.playRole" label="期望在协会中扮演的角色"></van-field>
|
||||
<van-field readonly :value="viewData.provideServices" label="是否愿意为协会提供志愿服务"></van-field>
|
||||
<van-field readonly :value="viewData.joinManageWork" label="是否愿意参与协会的管理工作"></van-field>
|
||||
<van-field readonly :value="viewData.giveHelp" label="是否愿意为协会的活动提供赞助或资源支持"></van-field>
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
|
||||
<!-- <template v-if="viewData.upa">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
院级工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group class="mt10">
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审核人员" :value="viewData.upa.username" left-icon="contact" readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.upa.auditTime" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.upa.auditOpinion ? viewData.upa.auditOpinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.upa.auditSign"
|
||||
v-if="viewData.upa.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>-->
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
methods: {
|
||||
async getInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/sys/club/sq/findOne", {id})
|
||||
if (data) {
|
||||
this.viewData = data
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$toast.fail('获取信息失败');
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
|
||||
.van-field__label {
|
||||
width: 60% !important;
|
||||
}
|
||||
|
||||
.van-cell {
|
||||
padding: 7px 16px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,50 @@
|
||||
<template>
|
||||
<div class="card">
|
||||
<div class="card-header" v-if="$slots.header">
|
||||
<slot name="header"></slot>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<slot></slot>
|
||||
</div>
|
||||
<div class="card-footer" v-if="$slots.footer">
|
||||
<slot name="footer"></slot>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "MCard"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border: none;
|
||||
border-radius: .5rem;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
border-bottom:1px dashed rgba(0,0,0,.125);
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
.card-header:first-child {
|
||||
border-radius: calc(.5rem - 1px) calc(.5rem - 1px) 0 0
|
||||
}
|
||||
|
||||
.card-body>.van-cell{
|
||||
padding: 5px 0;
|
||||
}
|
||||
.card-body{
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
|
||||
.card-header, .card-footer {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<div class="loader"></div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "MLoading"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.loader {
|
||||
z-index: 10000;
|
||||
position: relative;
|
||||
width: 2.5em;
|
||||
height: 2.5em;
|
||||
transform: rotate(165deg);
|
||||
}
|
||||
|
||||
.loader:before, .loader:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
display: block;
|
||||
width: 0.5em;
|
||||
height: 0.5em;
|
||||
border-radius: 0.25em;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.loader:before {
|
||||
animation: before 2s infinite;
|
||||
}
|
||||
|
||||
.loader:after {
|
||||
animation: after 2s infinite;
|
||||
}
|
||||
|
||||
@keyframes before {
|
||||
0% {
|
||||
width: 0.5em;
|
||||
box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
|
||||
}
|
||||
35% {
|
||||
width: 2.5em;
|
||||
box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);
|
||||
}
|
||||
70% {
|
||||
width: 0.5em;
|
||||
box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);
|
||||
}
|
||||
100% {
|
||||
box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes after {
|
||||
0% {
|
||||
height: 0.5em;
|
||||
box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
|
||||
}
|
||||
35% {
|
||||
height: 2.5em;
|
||||
box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);
|
||||
}
|
||||
70% {
|
||||
height: 0.5em;
|
||||
box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);
|
||||
}
|
||||
100% {
|
||||
box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempt to center the whole thing!
|
||||
*/
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
top: calc(50% - 1.25em);
|
||||
left: calc(50% - 1.25em);
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<figure>
|
||||
<div class="dot white"></div>
|
||||
<div class="dot"></div>
|
||||
<div class="dot"></div>
|
||||
<div class="dot"></div>
|
||||
<div class="dot"></div>
|
||||
</figure>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "MTableLoading"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
body {
|
||||
background: #222;
|
||||
}
|
||||
|
||||
figure {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 6.250em;
|
||||
height: 6.250em;
|
||||
animation: rotate 2.4s linear infinite;
|
||||
}
|
||||
|
||||
.white {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: white;
|
||||
animation: flash 2.4s linear infinite;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.dot {
|
||||
position: absolute;
|
||||
margin: auto;
|
||||
width: 2.4em;
|
||||
height: 2.4em;
|
||||
border-radius: 100%;
|
||||
transition: all 1s ease;
|
||||
}
|
||||
|
||||
.dot:nth-child(2) {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background: #FF4444;
|
||||
animation: dotsY 2.4s linear infinite;
|
||||
}
|
||||
|
||||
.dot:nth-child(3) {
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
background: #FFBB33;
|
||||
animation: dotsX 2.4s linear infinite;
|
||||
}
|
||||
|
||||
.dot:nth-child(4) {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background: #99CC00;
|
||||
animation: dotsY 2.4s linear infinite;
|
||||
}
|
||||
|
||||
.dot:nth-child(5) {
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: #33B5E5;
|
||||
animation: dotsX 2.4s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
0% {
|
||||
transform: rotate(0);
|
||||
}
|
||||
10% {
|
||||
width: 6.250em;
|
||||
height: 6.250em;
|
||||
}
|
||||
66% {
|
||||
width: 2.4em;
|
||||
height: 2.4em;
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
width: 6.250em;
|
||||
height: 6.250em;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes dotsY {
|
||||
66% {
|
||||
opacity: .1;
|
||||
width: 2.4em;
|
||||
}
|
||||
77% {
|
||||
opacity: 1;
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes dotsX {
|
||||
66% {
|
||||
opacity: .1;
|
||||
height: 2.4em;
|
||||
}
|
||||
77% {
|
||||
opacity: 1;
|
||||
height: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes flash {
|
||||
33% {
|
||||
opacity: 0;
|
||||
border-radius: 0%;
|
||||
}
|
||||
55% {
|
||||
opacity: .6;
|
||||
border-radius: 100%;
|
||||
}
|
||||
66% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,186 @@
|
||||
<style>
|
||||
.field .van-field__error-message {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<div>
|
||||
<van-form @submit="onSubmit" ref="form">
|
||||
<template v-for="column in dynamicData">
|
||||
<!-- 文本、数值、时间 -->
|
||||
<template v-if="['VARCHAR','TEXT','INT','DATE','DATETIME'].includes(column.columnType)">
|
||||
<van-field
|
||||
class="field"
|
||||
v-model="column.columnValue"
|
||||
:clickable="['SELECT'].includes(column.columnFormType)"
|
||||
:label="column.columnName"
|
||||
:name="column.columnCode"
|
||||
:type="['INT'].includes(column.columnType) ? 'digit' : ''"
|
||||
:placeholder="(['SELECT'].includes(column.columnFormType) ? '请选择' : '请填写') + column.columnName"
|
||||
:readonly="['SELECT'].includes(column.columnFormType)"
|
||||
:rules="[{ required: column.isRequired, message: (['SELECT'].includes(column.columnFormType) ? '请选择' : '请填写') + column.columnName }]"
|
||||
:required="column.isRequired"
|
||||
:clearable="true"
|
||||
clear-trigger="always"
|
||||
@click="selectFieldClick(column)"
|
||||
></van-field>
|
||||
|
||||
<van-popup v-if="['SELECT'].includes(column.columnFormType)"
|
||||
v-model="pickerStates[column.columnCode + 'Picker']"
|
||||
position="bottom">
|
||||
<template v-if="['DATETIME','DATE'].includes(column.columnType)">
|
||||
<van-datetime-picker
|
||||
:title="column.columnName"
|
||||
:type="column.columnType.toLocaleLowerCase()"
|
||||
show-toolbar
|
||||
@cancel="pickerStates[column.columnCode + 'Picker'] = false; column.columnValue = ''"
|
||||
@confirm="(time)=>{dateTimePickerConfirm(time,column)}"
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<van-picker
|
||||
:columns="column.selectValues"
|
||||
:title="column.columnName"
|
||||
show-toolbar
|
||||
@cancel="pickerStates[column.columnCode + 'Picker'] = false; column.columnValue = ''"
|
||||
@confirm="(value)=>{ordinaryPickerConfirm(value,column)}"
|
||||
/>
|
||||
</template>
|
||||
</van-popup>
|
||||
</template>
|
||||
<!-- 单选框 -->
|
||||
<template v-else-if="['BOOLEAN'].includes(column.columnType)">
|
||||
|
||||
</template>
|
||||
<!-- 文件 -->
|
||||
<template v-else-if="['JSON'].includes(column.columnType)">
|
||||
<van-field :required="column.isRequired" :label="column.columnName"
|
||||
:rules="[{ required: column.isRequired, message: '请上传' + column.columnName }]">
|
||||
<template #input>
|
||||
<!-- <van-uploader v-model="fileList" :after-read="(file)=>{fileAfterRead(file,column)}"
|
||||
:max-count="column.fileNumber"/>-->
|
||||
|
||||
<vant_file_upload :files.sync="column.columnValue" :max="column.fileNumber"
|
||||
:type="column.fileType"></vant_file_upload>
|
||||
</template>
|
||||
</van-field>
|
||||
</template>
|
||||
|
||||
</template>
|
||||
</van-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- 请在van-form中引用 -->
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "TrainDynamicForm",
|
||||
components: {
|
||||
'vant_file_upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
},
|
||||
props: {
|
||||
dynamicData: []
|
||||
},
|
||||
model: {
|
||||
prop: 'dynamicData',
|
||||
event: 'updateDynamicData'
|
||||
},
|
||||
watch: {
|
||||
dynamicData: {
|
||||
handler: function (newValue, oldValue) {
|
||||
this.$emit('updateDynamicData', newValue)
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//所有的picker状态
|
||||
pickerStates: {},
|
||||
fileList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
validForm() {
|
||||
try {
|
||||
this.$refs.form.validate().then(() => {
|
||||
return true
|
||||
}).catch(() => {
|
||||
return false
|
||||
})
|
||||
} catch (e) {
|
||||
return false
|
||||
}
|
||||
|
||||
/*return new Promise(resolve => {
|
||||
this.$refs.form.validate().then(() => {
|
||||
resolve(true)
|
||||
}).catch(() => {
|
||||
resolve(false)
|
||||
})
|
||||
})*/
|
||||
|
||||
},
|
||||
onSubmit() {
|
||||
|
||||
},
|
||||
selectFieldClick(column) {
|
||||
console.log(column)
|
||||
this.$set(this.pickerStates, column.columnCode + 'Picker', true)
|
||||
if (!['DATE', 'DATETIME'].includes(column.columnType)) {
|
||||
//说明是普通的下拉框
|
||||
// column.selectValues = ['1', '2', '3']
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 时间picker确认
|
||||
* @param time
|
||||
* @param column
|
||||
*/
|
||||
dateTimePickerConfirm(time, column) {
|
||||
if (column.columnType === 'DATE') {
|
||||
column.columnValue = moment(time).format('YYYY-MM-DD')
|
||||
} else if (column.columnType === 'DATETIME') {
|
||||
column.columnValue = moment(time).format('YYYY-MM-DD HH:mm:ss')
|
||||
} else {
|
||||
//预留别的类型
|
||||
column.columnValue = moment(time).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
this.pickerStates[column.columnCode + 'Picker'] = false
|
||||
},
|
||||
/**
|
||||
* 普通picker确认
|
||||
* @param value
|
||||
* @param column
|
||||
*/
|
||||
ordinaryPickerConfirm(value, column) {
|
||||
column.columnValue = value
|
||||
this.pickerStates[column.columnCode + 'Picker'] = false
|
||||
},
|
||||
/**
|
||||
* 文件读取
|
||||
*/
|
||||
fileAfterRead(file, column) {
|
||||
|
||||
|
||||
console.log(file)
|
||||
console.log(column)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// console.log(this.dynamicData)
|
||||
// this.dynamicData.forEach(v => {
|
||||
// if (v.columnFormType === 'SELECT') {
|
||||
// v.columnPickerName = v.columnCode+'Picker'
|
||||
// }
|
||||
// })
|
||||
// console.log(this.dynamicData)
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,158 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
申请信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly :value="viewData.sqrname" label="申请人"></van-field>
|
||||
<van-field readonly :value="viewData.sqsj" label="申请时间"></van-field>
|
||||
<van-field readonly :value="viewData.bbname" label="受补助人"></van-field>
|
||||
<van-field readonly :value="viewData.idcard" label="身份证号"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.bbsex" label="性别"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.zc" label="职称"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.zw" label="职务"></van-field>
|
||||
<van-field readonly :value="viewData.bbunit" label="所在单位"></van-field>
|
||||
<van-field readonly name="way" :value="viewData.bbbirthday" label="出生日期"></van-field>
|
||||
<van-field readonly :value="viewData.lxfs" label="手机号码"></van-field>
|
||||
<van-field readonly :value="difficulty.subsidy[viewData.sq_bzlx]" label="补助类型"></van-field>
|
||||
<van-field readonly :value=" difficulty.sq_knlx[viewData.sq_knlx] " label="困难类型"></van-field>
|
||||
<van-field readonly :value="viewData.apply_reason" label="申请理由"
|
||||
input-align="left"
|
||||
style="flex-flow: column"
|
||||
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
|
||||
<van-field label="附件" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">附  件</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="viewData.files" view :del="false"
|
||||
v-if="viewData.files&&viewData.files.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field name="sign" label="申请人签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.sqsign" v-if="viewData.sqsign!=null"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
|
||||
<template v-if="viewData.upa">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
院级工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group class="mt10">
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审核人员" :value="viewData.upa.username" left-icon="contact" readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.upa.auditTime" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.upa.auditOpinion ? viewData.upa.auditOpinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.upa.auditSign"
|
||||
v-if="viewData.upa.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="viewData.sma">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group class="mt10">
|
||||
<div style="padding-left: 16px">
|
||||
<van-field label="审核人员" :value="viewData.sma.username" left-icon="contact" readonly></van-field>
|
||||
<van-field label="审核时间" :value="viewData.sma.auditTime" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.sma.auditOpinion ? viewData.sma.auditOpinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.sma.auditSign"
|
||||
v-if="viewData.sma.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
},
|
||||
methods: {
|
||||
async getInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/fw/difficulty/applylist/findOne", {id})
|
||||
if (data) {
|
||||
condolence.toFormData(data)
|
||||
this.viewData = data
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$toast.fail('获取信息失败');
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
await this.getInfo(this.id)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,214 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
申请信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field :value="viewData.loginname" label="工号" left-icon="contact"></van-field>
|
||||
<van-field label="姓名" :value="viewData.username" left-icon="contact"></van-field>
|
||||
<van-field label="性别" :value="viewData.sex" left-icon="ellipsis"></van-field>
|
||||
<van-field label="民族" left-icon="bar-chart-o" :value="viewData.nation"></van-field>
|
||||
<van-field label="学历" left-icon="coupon-o" :value="viewData.education"></van-field>
|
||||
<van-field label="学位" left-icon="comment-o" :value="viewData.academicDegree"></van-field>
|
||||
<van-field label="政治面貌" left-icon="label-o" :value="viewData.political"></van-field>
|
||||
<van-field :value="viewData.personType" label="人员类型" left-icon="label-o"></van-field>
|
||||
<van-field label="身份证" left-icon="idcard" :value="viewData.idcard"></van-field>
|
||||
<van-field label="联系电话" left-icon="phone-o" :value="viewData.mobile"></van-field>
|
||||
<van-field label="户口所在地" left-icon="wap-home-o"
|
||||
:value="viewData.registeredResidence"></van-field>
|
||||
<van-field label="现居住地" left-icon="home-o" :value="viewData.homeAddress"></van-field>
|
||||
<van-field label="工作单位" left-icon="cluster-o" :value="viewData.unitname"></van-field>
|
||||
<van-field label="职务" left-icon="debit-pay" :value="viewData.position"></van-field>
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-notes-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label">
|
||||
<span>个人工作简历</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<van-field readonly>
|
||||
<template #input>
|
||||
<div v-html="viewData.position"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-award-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label">
|
||||
<span>特长</span>
|
||||
</div>
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
|
||||
<van-field readonly>
|
||||
<template #input>
|
||||
<div v-html="viewData.specialSkill"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div class="van-cell__title van-field__label"
|
||||
style="display: flex;justify-content: space-between">
|
||||
<div style="display: flex;">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-friends-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label" style="width: auto">
|
||||
<span>家庭主要成员及联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div v-if="family && family.length>0">
|
||||
<div v-for="(o,i) in family" class="mt5">
|
||||
<div style="font-weight: 700;display: flex;justify-content: space-between">
|
||||
<span>成员{{ toChinesNum(i + 1) }}</span>
|
||||
</div>
|
||||
<van-form readonly input-align="right">
|
||||
<van-field label="关系" :value="o.relation" left-icon="exchange"></van-field>
|
||||
<van-field label="姓名" :value="o.name" left-icon="user-o"></van-field>
|
||||
<van-field label="联系方式" :value="o.mobile" left-icon="phone-o"></van-field>
|
||||
</van-form>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="height: 100px">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
<template v-if="unionAudit">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field label="审 核 人" :value="unionAudit.username" left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="审核时间" :value="moment(unionAudit.auditTime).format('YYYY-MM-DD')"
|
||||
left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o" :value="unionAudit.auditOpinion"
|
||||
readonly></van-field>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="schoolAudit">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field label="审 核 人" :value="schoolAudit.username" left-icon="contact"
|
||||
readonly></van-field>
|
||||
<van-field label="审核时间" :value="moment(schoolAudit.auditTime).format('YYYY-MM-DD')"
|
||||
left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o" :value="schoolAudit.auditOpinion"
|
||||
readonly></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
</template>
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
info: {},
|
||||
viewData: {},
|
||||
unionAudit: {},
|
||||
schoolAudit: {},
|
||||
family: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
user_id: String,
|
||||
record_id: String
|
||||
},
|
||||
methods: {
|
||||
async getAuditInfo(id) {
|
||||
const {data} = await $.get('/platform/member/common/findChangeApplyInfo', {id: id})
|
||||
if (data !== null) {
|
||||
const {unionAudit, schoolAudit} = data
|
||||
this.info = data
|
||||
this.unionAudit = unionAudit
|
||||
this.schoolAudit = schoolAudit
|
||||
} else {
|
||||
this.unionAudit = null
|
||||
this.schoolAudit = null
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
async getUserInfo(id) {
|
||||
const {data} = await $.get('/platform/member/common/userInfo', {userId: id})
|
||||
this.viewData = data
|
||||
this.family = JSON.parse(data.family)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.card_title {
|
||||
margin: 5px 0 5px 16px;
|
||||
}
|
||||
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,208 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
申请信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field :value="viewData.loginname" label="工号" left-icon="contact"></van-field>
|
||||
<van-field label="姓名" :value="viewData.username" left-icon="contact"></van-field>
|
||||
<van-field label="性别" :value="viewData.sex" left-icon="ellipsis"></van-field>
|
||||
<van-field label="民族" left-icon="bar-chart-o" :value="viewData.nation"></van-field>
|
||||
<van-field label="学历" left-icon="coupon-o" :value="viewData.education"></van-field>
|
||||
<van-field label="学位" left-icon="comment-o" :value="viewData.academicDegree"></van-field>
|
||||
<van-field label="政治面貌" left-icon="label-o" :value="viewData.political"></van-field>
|
||||
<van-field :value="viewData.personType" label="人员类型" left-icon="label-o"></van-field>
|
||||
<van-field label="身份证" left-icon="idcard" :value="viewData.idcard"></van-field>
|
||||
<van-field label="联系电话" left-icon="phone-o" :value="viewData.mobile"></van-field>
|
||||
<van-field label="户口所在地" left-icon="wap-home-o" :value="viewData.registeredResidence"></van-field>
|
||||
<van-field label="现居住地" left-icon="home-o" :value="viewData.homeAddress"></van-field>
|
||||
<van-field label="工作单位" left-icon="cluster-o" :value="viewData.unitname"></van-field>
|
||||
<van-field label="职务" left-icon="debit-pay" :value="viewData.position"></van-field>
|
||||
</van-cell-group>
|
||||
</van-form>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-notes-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label">
|
||||
<span>个人工作简历</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<van-field readonly>
|
||||
<template #input>
|
||||
<div v-html="viewData.position"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div style="display: flex">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-award-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label">
|
||||
<span>特长</span>
|
||||
</div>
|
||||
</div>
|
||||
<van-divider></van-divider>
|
||||
|
||||
<van-field readonly>
|
||||
<template #input>
|
||||
<div v-html="viewData.specialSkill"></div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10 up_down">
|
||||
<div class="van-cell" style="flex-flow: column">
|
||||
<div class="van-cell__title van-field__label" style="display: flex;justify-content: space-between">
|
||||
<div style="display: flex;">
|
||||
<div class="van-field__left-icon">
|
||||
<i class="van-icon van-icon-friends-o"></i>
|
||||
</div>
|
||||
<div class="van-cell__title van-field__label" style="width: auto">
|
||||
<span>家庭主要成员及联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div v-if="family && family.length>0">
|
||||
<div v-for="(o,i) in family" class="mt5">
|
||||
<div style="font-weight: 700;display: flex;justify-content: space-between">
|
||||
<span>成员{{ toChinesNum(i + 1) }}</span>
|
||||
</div>
|
||||
<van-form readonly input-align="right">
|
||||
<van-field label="关系" :value="o.relation" left-icon="exchange"></van-field>
|
||||
<van-field label="姓名" :value="o.name" left-icon="user-o"></van-field>
|
||||
<van-field label="联系方式" :value="o.mobile" left-icon="phone-o"></van-field>
|
||||
</van-form>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else style="height: 100px">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</van-cell-group>
|
||||
|
||||
|
||||
<template v-if="unionAudit!=null">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
院级工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field label="审 核 人" :value="unionAudit.username" left-icon="contact" readonly></van-field>
|
||||
<van-field label="审核时间" :value="moment(unionAudit.auditTime).format('YYYY-MM-DD')" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o" :value="unionAudit.auditOpinion" readonly></van-field>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="schoolAudit!=null">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field label="审 核 人" :value="schoolAudit.username" left-icon="contact" readonly></van-field>
|
||||
<van-field label="审核时间" :value="moment(schoolAudit.auditTime).format('YYYY-MM-DD')" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o" :value="schoolAudit.auditOpinion" readonly></van-field>
|
||||
</van-cell-group>
|
||||
|
||||
</template>
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
unionAudit: {},
|
||||
schoolAudit: {},
|
||||
family: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
user_id: String,
|
||||
record_id: String
|
||||
},
|
||||
methods: {
|
||||
// getDetailInfo(user_id, record_id) {
|
||||
// this.getUserInfo(user_id)
|
||||
// this.getAuditInfo(record_id)
|
||||
// },
|
||||
async getAuditInfo(id) {
|
||||
const {data} = await $.get('/platform/member/common/findApplyInfo', {id: id})
|
||||
if (data !== null) {
|
||||
const {unionAudit, schoolAudit} = data
|
||||
this.unionAudit = unionAudit
|
||||
this.schoolAudit = schoolAudit
|
||||
} else {
|
||||
this.unionAudit = null
|
||||
this.schoolAudit = null
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
async getUserInfo(id) {
|
||||
const {data} = await $.get('/platform/member/common/userInfo', {userId: id})
|
||||
this.viewData = data
|
||||
this.family = JSON.parse(data.family)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.card_title {
|
||||
margin: 5px 0 5px 16px;
|
||||
}
|
||||
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,247 @@
|
||||
<template>
|
||||
<div style="padding-bottom: 20px;">
|
||||
|
||||
<van-form readonly input-align="right">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
基础信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly :value="viewData.username" label="姓名"></van-field>
|
||||
<van-field readonly :value="viewData.loginname" label="工资号"></van-field>
|
||||
<van-field readonly :value="viewData.dwname" label="单位"></van-field>
|
||||
<van-field readonly :value="viewData.ghname" label="工会"></van-field>
|
||||
</van-cell-group>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
作品信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell-group>
|
||||
<van-field readonly name="type" :value="viewData.hdname" label="作品主题"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.hdlbname" label="活动类别"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.step_count" label="健步走步数"
|
||||
v-if="viewData.step_count"></van-field>
|
||||
<van-field readonly name="type" :value="viewData.zname" label="作品类别" v-if="viewData.zname"></van-field>
|
||||
<van-field readonly :value="viewData.hdsbzpms" label="简介"
|
||||
input-align="left"
|
||||
style="flex-flow: column"
|
||||
rows="2" maxlength="200" type="textarea" show-word-limit autosize></van-field>
|
||||
|
||||
<van-field label="照片" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">照  片</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="img2List" view :del="false"
|
||||
v-if="img2List&&img2List.length>0"></vant-file-upload>
|
||||
<div v-if="img2List.length===0" style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有照片。
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="视频" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">视  频</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<div v-if="videoList.length>0">
|
||||
<div v-for="item in videoList" class="mt10">
|
||||
<video id="myVideo" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto"
|
||||
width="640" height="264"
|
||||
data-setup="{}" webkit-playsinline='true' playsinline='true' x-webkit-airplay='true'
|
||||
x5-video-player-type='h5' x5-video-player-fullscreen='true' x5-video-ignore-metadata='true'>
|
||||
<source :src="item.url" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="videoList.length===0" style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有视频。
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="音频" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">音  频</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<div v-if="audioList&&audioList.length>0">
|
||||
<div v-for="audio in audioList" class="mt10">
|
||||
<audio id="amusic" preload="auto" controls>
|
||||
<source :src="FILE_DOMAIN+audio.url"/>
|
||||
</audio>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: center;color: #c2bbbb;font-size: 10px;" v-if="audioList.length===0">
|
||||
没有音频。
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="文档" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">文  档</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<div v-for="(item,index) in docList" v-if="docList&&docList.length>0">
|
||||
<div class="text-nowrap color-puple"
|
||||
@click="previewFile(item.filepath,item.filename,docList,index,item.id)">
|
||||
{{ item.filename }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="docList.length===0" style="text-align: center;color: #c2bbbb;font-size: 10px;">
|
||||
没有文档。
|
||||
</div>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
|
||||
</van-cell-group>
|
||||
|
||||
<template v-if="viewData.union">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-cell-group>
|
||||
<van-field readonly name="type" :value="viewData.union.username" label="审核人"></van-field>
|
||||
<van-field label="审核时间" :value="viewData.union.auditTime" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.union.auditOpinion ? viewData.union.auditOpinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.union.auditSign"
|
||||
v-if="viewData.union.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
<template v-if="viewData.school">
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-cell-group>
|
||||
<van-field readonly name="type" :value="viewData.school.username" label="审核人"></van-field>
|
||||
<van-field label="审核时间" :value="viewData.school.auditTime" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
<van-field label="审核意见" left-icon="chat-o"
|
||||
:value="viewData.school.auditOpinion ? viewData.school.auditOpinion : '暂无'"
|
||||
readonly></van-field>
|
||||
<van-field name="sign" label="签字">
|
||||
<template #input>
|
||||
<van-image width="200" height="100" :src="viewData.school.auditSign"
|
||||
v-if="viewData.school.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
|
||||
</van-form>
|
||||
|
||||
|
||||
<template v-if="handle">
|
||||
<slot name="handle"></slot>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
props: {
|
||||
handle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: '审核'
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
videoList: [],
|
||||
prevImgList: [],
|
||||
img2List: [],
|
||||
audioList: [],
|
||||
docList: [],
|
||||
imgtype: ['gif', 'jpg', 'png', 'jpeg'],
|
||||
videotype: ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb', 'wmv', 'mp4', 'mov', 'mpg', 'mpeg'],
|
||||
doctype: ['doc', 'docx'],
|
||||
audiotype: ['mp3', 'wma', 'flac', 'wav', 'm4a', 'amr', 'au'],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'vant-file-upload': httpVueLoader('/components/plugins/VantFileUpload.vue')
|
||||
},
|
||||
methods: {
|
||||
async getInfo(id) {
|
||||
const {data, code, msg} = await $.get("/platform/hd/wmhd/findOneById", {id})
|
||||
const refs = await $.get("/platform/hd/wmhd/findxxById", {id})
|
||||
|
||||
if (refs) {
|
||||
this.viewData = refs.data
|
||||
console.log(refs)
|
||||
data.forEach(val => {
|
||||
val.fjname = val.filename
|
||||
val.fjurl = val.filepath
|
||||
val.id = val.filepath
|
||||
val.url = FILE_DOMAIN + '/fileStreamPreview?id=' + val.filepath
|
||||
let filetype = val.fjname.substring(val.fjname.lastIndexOf('.') + 1, val.fjname.length).toLowerCase();
|
||||
if (this.videotype.indexOf(filetype) > -1) {
|
||||
this.videoList.push(val);
|
||||
} else if (this.imgtype.indexOf(filetype) > -1) {
|
||||
this.prevImgList.push(val.url)
|
||||
this.img2List.push(val);
|
||||
} else if (this.doctype.indexOf(filetype) > -1) {
|
||||
this.docList.push(val);
|
||||
} else if (this.audiotype.indexOf(filetype) > -1) {
|
||||
this.audioList.push(val);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.$toast.fail('获取信息失败');
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.van-cell-group__title {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
font-size: 16px !important;
|
||||
text-indent: 4px !important;
|
||||
}
|
||||
|
||||
.van-sidebar-item--select::before {
|
||||
left: 5px !important;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@@ -50,13 +50,21 @@
|
||||
</el-select>
|
||||
|
||||
<el-date-picker
|
||||
v-else-if="cnd.fieldObj&&cnd.fieldObj.type=='date'"
|
||||
v-else-if="cnd.fieldObj&&cnd.fieldObj.type==='date'"
|
||||
v-model="cnd.value"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择日期" style="width: 100%">
|
||||
</el-date-picker>
|
||||
|
||||
<el-date-picker
|
||||
v-else-if="cnd.fieldObj&&cnd.fieldObj.type==='date(year)'"
|
||||
v-model="cnd.value"
|
||||
type="year"
|
||||
value-format="yyyy"
|
||||
placeholder="请选择年份" style="width: 100%">
|
||||
</el-date-picker>
|
||||
|
||||
<el-input v-else v-model="cnd.value" clearable placeholder="请输入值"
|
||||
style="width: 100%"></el-input>
|
||||
|
||||
@@ -118,7 +126,8 @@
|
||||
module.exports = {
|
||||
props: {
|
||||
value: {
|
||||
type: Object, default: {
|
||||
type: Object,
|
||||
default: {
|
||||
method: "AND",
|
||||
conditions: [{}],
|
||||
}
|
||||
@@ -164,6 +173,9 @@ module.exports = {
|
||||
const field = this.fields.find(x => x.value == v.field)
|
||||
v.fieldObj = field
|
||||
})
|
||||
}else{
|
||||
value.conditions = [{}]
|
||||
value.method = 'AND'
|
||||
}
|
||||
// this.$emit("confirm", value)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="sendMsgDialogVisible"
|
||||
title="请在下方填写需要发送的内容"
|
||||
width="50%"
|
||||
>
|
||||
<el-form :model="formData" label-width="80px" ref="sendForm">
|
||||
<el-form-item
|
||||
:rules="[{required: true, message: '请选择发送方式', trigger: ['blur', 'change']}]"
|
||||
label="发送方式"
|
||||
prop="sendTypes">
|
||||
<el-checkbox-group size="medium" v-model="formData.sendTypes">
|
||||
<el-checkbox border label="4">短信发送</el-checkbox>
|
||||
<!-- <el-checkbox border label="4">微信发送</el-checkbox>-->
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
:rules="[{required: true, message: '请选择发送内容', trigger: ['blur', 'change']}]"
|
||||
label="发送内容"
|
||||
prop="content">
|
||||
<el-input
|
||||
:rows="6"
|
||||
placeholder="请输入内容"
|
||||
type="textarea"
|
||||
v-model="formData.content">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item></el-form-item>-->
|
||||
|
||||
<!-- <el-alert-->
|
||||
<!-- :title="formData.url"-->
|
||||
<!-- description="如果您发送的内容需要含有链接,请把上述内容复制到发送内容里面,不要随意修改!"-->
|
||||
<!-- show-icon-->
|
||||
<!-- type="warning">-->
|
||||
<!-- </el-alert>-->
|
||||
|
||||
</el-form>
|
||||
<span class="dialog-footer" slot="footer">
|
||||
<el-button @click="sendMsgDialogVisible = false">取 消</el-button>
|
||||
<el-button @click="sendMsgToNotWelfareUsers" type="primary">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "CustomMessage",
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
sendMsgDialogVisible: false,
|
||||
formData: {
|
||||
sendTypes: [],
|
||||
content: null
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
this.sendMsgDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.sendForm.resetFields()
|
||||
})
|
||||
},
|
||||
close() {
|
||||
this.sendMsgDialogVisible = false
|
||||
},
|
||||
|
||||
sendMsgToNotWelfareUsers() {
|
||||
this.$refs.sendForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$emit('confirm', {
|
||||
sendTypes: JSON.stringify(this.formData.sendTypes),
|
||||
content: this.formData.content
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -1,10 +1,11 @@
|
||||
<template>
|
||||
<el-select v-model="value" :placeholder="placeholder" @change="onChange" :disabled="disabled" :clearable="clearable"
|
||||
<el-select v-model="valueAsString" :placeholder="placeholder" @change="onChange" :disabled="disabled" :clearable="clearable"
|
||||
:style="style"
|
||||
:multiple="multiple"
|
||||
:size="size">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
v-if="!item.disabled"
|
||||
:key="item[option_value]"
|
||||
:label="item[option_label]"
|
||||
:value="item[option_value]">
|
||||
@@ -63,6 +64,17 @@ module.exports = {
|
||||
options: []
|
||||
}
|
||||
},
|
||||
|
||||
computed:{
|
||||
valueAsString(){
|
||||
if(Array.isArray(this.value)){
|
||||
return this.value
|
||||
}else{
|
||||
return this.value ? this.value.toString() : ''
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
code(val) {
|
||||
this.flushOptions()
|
||||
|
||||
@@ -0,0 +1,210 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-tabs class="customer-tab" type="card" @tab-click="jump" v-model="tabName">
|
||||
<el-tab-pane v-for="(tab, index) in tabs" :name="tab.refName" :key="index" :label="tab.name"
|
||||
v-if="tab.visible"
|
||||
></el-tab-pane>
|
||||
</el-tabs>
|
||||
<div class="scroll-content" @scroll="onScroll" :style="{height:h+'px'}">
|
||||
<div v-for="(item,index) in tabs" :key="item.refName" class="scroll-item" v-if="item.visible">
|
||||
<div class="line-name">
|
||||
<h5>{{ item.name }}</h5>
|
||||
</div>
|
||||
<div>
|
||||
<slot :name="item.refName"></slot>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="scroll-item">
|
||||
<slot name="audit"></slot>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "ELTabPlus",
|
||||
props: {
|
||||
tabs: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
h: {
|
||||
type: Number,
|
||||
default: 700
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tabName: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump(tab, event) {
|
||||
let target = document.querySelector('.scroll-content')
|
||||
let scrollItems = document.querySelectorAll('.scroll-item')
|
||||
// 判断滚动条是否滚动到底部
|
||||
if (target.scrollHeight <= target.scrollTop + target.clientHeight) {
|
||||
this.tabIndex = tab.index.toString()
|
||||
}
|
||||
let totalY = scrollItems[tab.index].offsetTop - scrollItems[0].offsetTop // 锚点元素距离其offsetParent(这里是body)顶部的距离(待滚动的距离)
|
||||
let distance = document.querySelector('.scroll-content').scrollTop // 滚动条距离滚动区域顶部的距离
|
||||
// let distance = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset // 滚动条距离滚动区域顶部的距离(滚动区域为窗口)
|
||||
// 滚动动画实现, 使用setTimeout的递归实现平滑滚动,将距离细分为50小段,10ms滚动一次
|
||||
// 计算每一小段的距离
|
||||
let step = totalY / 50
|
||||
if (totalY > distance) {
|
||||
smoothDown(document.querySelector('.scroll-content'))
|
||||
} else {
|
||||
let newTotal = distance - totalY
|
||||
step = newTotal / 50
|
||||
smoothUp(document.querySelector('.scroll-content'))
|
||||
}
|
||||
|
||||
// 参数element为滚动区域
|
||||
function smoothDown(element) {
|
||||
if (distance < totalY) {
|
||||
distance += step
|
||||
element.scrollTop = distance
|
||||
setTimeout(smoothDown.bind(this, element), 10)
|
||||
} else {
|
||||
element.scrollTop = totalY
|
||||
}
|
||||
}
|
||||
|
||||
// 参数element为滚动区域
|
||||
function smoothUp(element) {
|
||||
if (distance > totalY) {
|
||||
distance -= step
|
||||
element.scrollTop = distance
|
||||
setTimeout(smoothUp.bind(this, element), 10)
|
||||
} else {
|
||||
element.scrollTop = totalY
|
||||
}
|
||||
}
|
||||
|
||||
console.log(this.tabName)
|
||||
|
||||
},
|
||||
onScroll(e) {
|
||||
if (e.target.scrollTop === 0) {
|
||||
this.tabName = this.tabs[0].refName
|
||||
return
|
||||
}
|
||||
|
||||
$('#app > div.guava-main-content > span > div.el-card').each((idx, item) => {
|
||||
if ($(item).is(':visible')) {
|
||||
const scrollItems = $(item).find('.scroll-item')
|
||||
for (let i = scrollItems.length - 1; i >= 0; i--) {
|
||||
let judge = e.target.scrollTop >= scrollItems[i].offsetTop - scrollItems[0].offsetTop - 300
|
||||
if (judge) {
|
||||
this.tabIndex = i.toString()
|
||||
this.tabName = this.tabs[this.tabIndex].refName
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
scrollEnd() {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
$('#app > div.guava-main-content > span > div.el-card').each((idx, item) => {
|
||||
if ($(item).is(':visible')) {
|
||||
const scrollContent = $(item).find('.scroll-content')[0]
|
||||
scrollContent.scrollTop = scrollContent.scrollHeight
|
||||
}
|
||||
})
|
||||
// document.querySelector('.scroll-content').scrollTop = document.querySelector('.scroll-content').scrollHeight
|
||||
this.tabName = 'audit'
|
||||
}, 250)
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.scrollbar {
|
||||
height: 10px;
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
.scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background-color: #888;
|
||||
}
|
||||
|
||||
.scrollbar-thumb:hover {
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
|
||||
.scroll-content {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.customer-tab {
|
||||
/*width: 100%;*/
|
||||
background-color: #f5f7fa;
|
||||
padding: 5px;
|
||||
height: 50px;
|
||||
/*display: flex;*/
|
||||
/*overflow-x: scroll;*/
|
||||
}
|
||||
|
||||
.line-name {
|
||||
padding-left: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.line-name::before {
|
||||
content: "";
|
||||
width: 5px;
|
||||
background: #11879f;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.el-tabs--card > .el-tabs__header {
|
||||
border-bottom: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.el-tabs--card > .el-tabs__header .el-tabs__nav {
|
||||
/*width: 100%;*/
|
||||
/*display: flex;*/
|
||||
/*justify-content: space-around;*/
|
||||
border: none;
|
||||
}
|
||||
|
||||
.el-tabs--card > .el-tabs__header .el-tabs__nav .el-tabs__item {
|
||||
text-align: center;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.el-tabs--card > .el-tabs__header .el-tabs__nav .is-active {
|
||||
border-radius: 4px;
|
||||
background-color: #1867b0;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -78,4 +78,4 @@ module.exports = {
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="view" class="viewFile">
|
||||
<div v-for="(file,index) in files" class="viewFileItem" title="点击查看" @click="showSource(file,index,$event)">
|
||||
<div v-for="(file,index) in files" class="viewFileItem" title="点击查看" @click="showSource(file,index,$event,files)">
|
||||
|
||||
<template v-if="resolvingShowByFileName(file.filename) == 1">
|
||||
<el-image
|
||||
@@ -17,7 +17,9 @@
|
||||
:xlink:href="wpUploadFileShowResolving.getFileItemShowIcon(resolvingShowByFileName(file.filename), file.filepath, true)"></use>
|
||||
</svg>
|
||||
</template>
|
||||
<div :title="file.filename" class="viewFileName">{{ file.filename }}</div>
|
||||
<div :title="file.filename" class="viewFileName" title="点击下载" @click.stop="downLoadFile(file)">
|
||||
<i class="el-icon-download"></i> {{file.filename }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -34,16 +36,16 @@
|
||||
drag
|
||||
:on-preview="handlePreview"
|
||||
:data="{source:source}"
|
||||
multiple>
|
||||
>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">
|
||||
将文件拖到此处,或<em>点击上传</em>
|
||||
|
||||
<!-- <span @click.stop="openPicture">或<em>图库上传</em></span>-->
|
||||
<span @click.stop="openPicture">或<em>图库上传</em></span>
|
||||
<!-- <slot name="el-upload__tip"></slot>-->
|
||||
<div class="el-upload__tip" slot="tip" v-if="showTip">
|
||||
请上传
|
||||
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size }}MB</b></template>
|
||||
<template v-if="max_size"> 大小不超过 <b style="color: #f56c6c">{{ max_size / 1024 / 1024 }}MB</b></template>
|
||||
<template v-if="size"> 尺寸为 <b style="color: #f56c6c">{{ size }}</b></template>
|
||||
<template v-if="type"> 格式为 <b style="color: #f56c6c">{{ type.join("/") }}</b></template>
|
||||
的文件
|
||||
@@ -63,10 +65,9 @@
|
||||
:on-exceed="handleExceed"
|
||||
:on-preview="handlePreview"
|
||||
:data="{source:source}"
|
||||
class="x100000"
|
||||
multiple>
|
||||
class="x100000">
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
<el-button size="small" type="primary" @click.stop="openPicture">从图库选择</el-button>
|
||||
<!-- <el-button size="small" type="primary" @click.stop="openPicture">从图库选择</el-button>-->
|
||||
<!-- <slot name="el-upload__tip"></slot>-->
|
||||
<div class="el-upload__tip" slot="tip" v-if="showTip">
|
||||
请上传
|
||||
@@ -569,13 +570,16 @@ module.exports = {
|
||||
/**
|
||||
* 查看资源
|
||||
*/
|
||||
showSource(showItem, index, e) {
|
||||
showSource(showItem, index, e,files) {
|
||||
const picArray = files.filter(o => [1,2,3].includes(this.resolvingShowByFileName(o.filename)))
|
||||
|
||||
const viewFileParent = $(e.target).closest(".viewFile")
|
||||
const show = this.resolvingShowByFileName(showItem.filename)
|
||||
if (show == 1 || show == 2 || show == 3) {
|
||||
const picIndex = picArray.indexOf(showItem)
|
||||
const vv = new Viewer(viewFileParent.clone()[0], {
|
||||
url: 'src',
|
||||
initialViewIndex: index
|
||||
initialViewIndex: picIndex !== -1 ? picIndex : 0
|
||||
})
|
||||
vv.show()
|
||||
} else if (show == 4 || show == 5 || show == 7) {
|
||||
@@ -703,7 +707,6 @@ module.exports = {
|
||||
return FILE_DOMAIN + fileItem;
|
||||
},
|
||||
|
||||
|
||||
updateFileList(val) {
|
||||
if (!val || !val.length) {
|
||||
this.fileList = []
|
||||
@@ -715,7 +718,7 @@ module.exports = {
|
||||
},
|
||||
change(fileList) {
|
||||
//此处要把origin传到父组件 防止图库里的图片被删除
|
||||
this.$emit("update:files", fileList.map(v => {
|
||||
this.$emit("update:files",fileList.filter(v=>v.data || v.id).map(v => {
|
||||
return {
|
||||
origin: v.origin,
|
||||
...v.data
|
||||
@@ -725,6 +728,32 @@ module.exports = {
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(`当前限制选择 ${this.max} 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
|
||||
},
|
||||
|
||||
// async customUpload(file,fileList){
|
||||
// console.log(file)
|
||||
// console.log(file.onSuccess)
|
||||
// let formdata = new FormData()
|
||||
// console.log(this)
|
||||
// formdata.append('file', file.file)
|
||||
// debugger
|
||||
// try {
|
||||
// const res = await axios({
|
||||
// url: FILE_UPLOAD_ADDRESS,
|
||||
// method: 'post',
|
||||
// headers: {
|
||||
// 'Content-type': 'multipart/form-data',
|
||||
// },
|
||||
// data: formdata
|
||||
// })
|
||||
// if(res.data && res.data.code===0){
|
||||
// file.onSuccess(res.data)
|
||||
// }
|
||||
// console.log(res)
|
||||
// }catch (e){
|
||||
// console.error(e)
|
||||
// }
|
||||
// },
|
||||
|
||||
onSuccess(response, file, fileList) {
|
||||
if (response.code === 0) {
|
||||
const {data} = response
|
||||
@@ -789,7 +818,6 @@ module.exports = {
|
||||
console.log(this.selectPictures)
|
||||
},
|
||||
confirmPictures() {
|
||||
debugger
|
||||
if (this.selectPictures.length === 0) {
|
||||
this.$message.warning('请选择图片')
|
||||
return
|
||||
@@ -821,6 +849,9 @@ module.exports = {
|
||||
this.fileList = fileList
|
||||
this.change(this.fileList)
|
||||
this.picDialogVisible = false
|
||||
},
|
||||
downLoadFile({id, filename}) {
|
||||
window.open('/file_server/download?id=' + id)
|
||||
}
|
||||
|
||||
},
|
||||
@@ -852,11 +883,11 @@ module.exports = {
|
||||
position: relative;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
max-height: 256px;
|
||||
/*max-height: 256px;*/
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
/*overflow-y: auto;*/
|
||||
/*overflow-x: hidden;*/
|
||||
/*height: 150px;*/
|
||||
}
|
||||
|
||||
|
||||
@@ -73,10 +73,12 @@ module.exports = {
|
||||
}, {
|
||||
prop: 'mobile',
|
||||
label: '电话',
|
||||
}, {
|
||||
prop: 'threeUnitName',
|
||||
label: '科室',
|
||||
}, {
|
||||
},
|
||||
// {
|
||||
// prop: 'threeUnitName',
|
||||
// label: '科室',
|
||||
// },
|
||||
{
|
||||
prop: 'unitname',
|
||||
label: '单位',
|
||||
}, {
|
||||
@@ -104,7 +106,7 @@ module.exports = {
|
||||
selectUser: [],
|
||||
pageForm: {
|
||||
unionId: this.union,
|
||||
sqlCnd: JSON.stringify(this.sql_cnd),
|
||||
// sqlCnd: JSON.stringify(this.sql_cnd),
|
||||
searchName: "username",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
@@ -145,7 +147,9 @@ module.exports = {
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
|
||||
if(this.sql_cnd){
|
||||
this.pageForm.sqlCnd = btoa(this.sql_cnd[0])
|
||||
}
|
||||
$.post("/platform/member/change/mange/userPageData", this.pageForm, (data) => {
|
||||
this.tableLoading = false
|
||||
if (data.code == 0) {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<el-form-item label="" prop="subjectName">
|
||||
<div class="s-title-wrap">
|
||||
<el-row align="middle" style="width: 100%" type="flex">
|
||||
<el-col :xl="20"
|
||||
<el-col :xl="15"
|
||||
style="border: 1px dashed rgb(217, 217, 217);border-radius:6px;display: flex;align-items: center;">
|
||||
<el-input v-model="s.subjectName" class="text-input"
|
||||
data-type="subject"></el-input>
|
||||
@@ -83,9 +83,21 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column width="120px" label="所属供应商">
|
||||
<!-- <el-table-column width="120px" label="所属供应商">-->
|
||||
<!-- <template slot-scope="{row}">-->
|
||||
<!-- {{ row.shoppingName ? row.shoppingName : '暂无' }}-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
|
||||
<el-table-column label="备注1">
|
||||
<template slot-scope="{row}">
|
||||
{{ row.shoppingName ? row.shoppingName : '暂无' }}
|
||||
<el-input v-model="row.supplier" type="textarea" max="100"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="备注2">
|
||||
<template slot-scope="{row}">
|
||||
<el-input v-model="row.simpleDesc" type="textarea" max="100"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -120,26 +132,17 @@
|
||||
</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
label="默认选择"
|
||||
width="100px">
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-checkbox v-model="row.isSystemDefault"
|
||||
@change="(val,event)=>{systemDefaultChange(idx,$index,val)}"
|
||||
></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
align="center"
|
||||
header-align="center"
|
||||
label="默认选择几个"
|
||||
width="100px">
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-input v-model="row.defaultSelectNum"></el-input>
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
<!-- <el-table-column-->
|
||||
<!-- align="center"-->
|
||||
<!-- header-align="center"-->
|
||||
<!-- label="默认值"-->
|
||||
<!-- width="100px">-->
|
||||
<!-- <template slot-scope="{row,$index}">-->
|
||||
<!-- <el-checkbox v-model="row.isSystemDefault"-->
|
||||
<!-- @change="(val,event)=>{systemDefaultChange(idx,$index,val)}"-->
|
||||
<!-- ></el-checkbox>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column label="没选系统自动分配" width="150px">
|
||||
<template slot-scope="{row,$index}">
|
||||
<el-checkbox v-model="row.isDefaultOption"
|
||||
|
||||
@@ -160,8 +160,9 @@ module.exports = {
|
||||
// if (_this.isEmptyEditor()) {
|
||||
// content = ''
|
||||
// }
|
||||
_this.$emit('input', content)
|
||||
_this.$emit('catchData', content, text)
|
||||
const newContent = content.replaceAll('<img', '<image');
|
||||
_this.$emit('input', newContent)
|
||||
_this.$emit('catchData', newContent, text)
|
||||
}
|
||||
|
||||
//配置图片上传
|
||||
@@ -206,7 +207,7 @@ module.exports = {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file, file.name)
|
||||
formData.append("folderPath", "/wangEditorImg/")
|
||||
return $.ajax({
|
||||
return jQuery.ajax({
|
||||
url: '/file_server/uploadFile',
|
||||
type: 'post',
|
||||
data: formData,
|
||||
|
||||
@@ -271,12 +271,13 @@ module.exports = {
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if (this.is_A06 || this.is_sysadmin || this.is_H03) {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
/* if (this.is_A06 || this.is_sysadmin || this.is_H03) {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
this.ActivityUnits = await getActivityUnits(this.pageForm.activityUnionId)
|
||||
} else {
|
||||
this.units = await getUnits(this.unionid)
|
||||
}
|
||||
}*/
|
||||
},
|
||||
async getActivityGroup() {
|
||||
this.pageForm.groupId = ''
|
||||
@@ -300,11 +301,11 @@ module.exports = {
|
||||
},
|
||||
async created() {
|
||||
this.unions = await getUnions(null)
|
||||
this.ActivityUnions = await getActivityUnions()
|
||||
// this.ActivityUnions = await getActivityUnions()
|
||||
await this.flushUnits()
|
||||
await this.getActivityGroup()
|
||||
this.viewGroupName()
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">人员类型:</el-col>
|
||||
<el-col class="query-content">
|
||||
<el-tag
|
||||
@@ -75,7 +75,7 @@
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">在职状态:</el-col>
|
||||
<el-col class="query-content">
|
||||
<el-tag
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">部门查询:</el-col>
|
||||
<el-col class="query-content">
|
||||
<el-row :gutter="20">
|
||||
@@ -130,7 +130,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<template v-if="is_H10===true||is_A06===true||is_sysadmin===true">
|
||||
<template v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
|
||||
<!--<el-row class="query-row">
|
||||
<el-col class="query-title">活动部门:</el-col>
|
||||
@@ -208,12 +208,11 @@
|
||||
</template>
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">协会:</el-col>
|
||||
<el-col class="query-content">
|
||||
<el-select v-model="pageForm.clubId" placeholder="请选择协会" @change="doSearch"
|
||||
filterable
|
||||
:clearable="is_H10===true||is_A06===true||is_sysadmin===true||(is_H04===true&&is_H02===true)"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in clubOptions"
|
||||
@@ -238,7 +237,7 @@
|
||||
</el-row>
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">年龄范围:</el-col>
|
||||
<el-col class="query-content">
|
||||
<el-row type="flex" style="align-items: center">
|
||||
@@ -259,7 +258,7 @@
|
||||
|
||||
|
||||
<el-row class="query-row"
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H04===true">
|
||||
v-if="is_H10===true||is_A06===true||is_sysadmin===true||is_H02===true||is_H04===true">
|
||||
<el-col class="query-title">条件匹配:</el-col>
|
||||
<el-col class="query-content">
|
||||
<user-cnd @cnd="(v)=>{this.$set(this.pageForm,'activityUserCnd',v)}"></user-cnd>
|
||||
@@ -535,12 +534,13 @@ module.exports = {
|
||||
},
|
||||
async flushUnits() {
|
||||
this.$set(this.pageForm, "unitId", "")
|
||||
if (this.is_sysadmin || this.is_A06) {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
/*if (this.is_sysadmin || this.is_A06) {
|
||||
this.units = await getUnits(this.pageForm.unionId)
|
||||
this.activityUnits = await getActivityUnits(this.pageForm.activityUnionId)
|
||||
} else {
|
||||
this.units = await getUnits(this.unionid)
|
||||
}
|
||||
}*/
|
||||
},
|
||||
async pageData() {
|
||||
sublime.showLoadingbar()
|
||||
@@ -649,8 +649,9 @@ module.exports = {
|
||||
async created() {
|
||||
await this.getRolesAndUnion()
|
||||
this.clubOptions = await getClubsByRole()
|
||||
this.unions = await getUnions(null)
|
||||
|
||||
if (((this.is_sysadmin || this.is_A06 || this.is_H02) === false) && this.is_H04 === true) {
|
||||
/* if (((this.is_sysadmin || this.is_A06 || this.is_H02) === false) && this.is_H04 === true) {
|
||||
this.unions = await getUnionList(this.unionid)
|
||||
this.$set(this.pageForm, "unionId", this.unions[0].id)
|
||||
} else {
|
||||
@@ -661,9 +662,9 @@ module.exports = {
|
||||
if (this.clubOptions.length > 0) {
|
||||
this.$set(this.pageForm, "clubId", this.clubOptions[0].stid)
|
||||
}
|
||||
}
|
||||
}*/
|
||||
await this.flushUnits()
|
||||
await this.getActivityGroup()
|
||||
// await this.getActivityGroup()
|
||||
this.personTypeOptions = await getDictOptions("UserType")
|
||||
this.userStateOptions = await getDictOptions("UserState")
|
||||
await this.getMenuOptions()
|
||||
|
||||
@@ -102,7 +102,8 @@ module.exports = {
|
||||
selectUser: [],
|
||||
pageForm: {
|
||||
unionId: this.union,
|
||||
sqlCnd: JSON.stringify(this.sql_cnd),
|
||||
// sqlCnd: JSON.stringify(this.sql_cnd),
|
||||
// sqlCnd: this.sql_cnd,
|
||||
searchName: "username",
|
||||
searchKeyword: "",
|
||||
pageNumber: 1,
|
||||
@@ -146,7 +147,9 @@ module.exports = {
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
|
||||
if(this.sql_cnd){
|
||||
this.pageForm.sqlCnd = btoa(this.sql_cnd[0])
|
||||
}
|
||||
$.post("/platform/welfare/member/mange/userPageData", this.pageForm, (data) => {
|
||||
this.tableLoading = false
|
||||
if (data.code == 0) {
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<template>
|
||||
<el-dialog title="快递物流信息" width="60%" :visible.sync="dialogVisible" :append-to-body="true"
|
||||
top="50px">
|
||||
<el-tabs v-model="activeName" v-loading="loading">
|
||||
<el-tab-pane v-for="(v,k) in courierNumberInfoData"
|
||||
:label="k"
|
||||
:key="k"
|
||||
:name="k">
|
||||
<div style="height: 600px;overflow-y: auto">
|
||||
<div class="alert alert-info" v-if="v.length>1">
|
||||
<strong>此套餐有多个快递单号</strong>
|
||||
</div>
|
||||
|
||||
<template v-for="item in v" :key="item.courierNumber">
|
||||
<div class="alert alert-info">
|
||||
<strong>快递单号</strong>
|
||||
{{ item.courierNumber || '暂无' }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<el-timeline reverse="true"
|
||||
v-if="item.logisticsTrace && item.logisticsTrace.logisticsTraceDetailList">
|
||||
<el-timeline-item
|
||||
:color="timeline.color"
|
||||
:key="timelineIndex"
|
||||
:timestamp="moment(timeline.time).format('YYYY-MM-DD HH:mm:ss')"
|
||||
v-for="(timeline, timelineIndex) in item.logisticsTrace.logisticsTraceDetailList">
|
||||
{{ timeline.desc }}
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
<div v-else>
|
||||
<el-empty description="暂无物流信息"></el-empty>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "CourierNumberInfo",
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
courierNumberInfoData: [],
|
||||
activeName: null,
|
||||
loading: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openView(welfareId, userId) {
|
||||
this.dialogVisible = true
|
||||
this.loading = true
|
||||
const {
|
||||
code,
|
||||
data,
|
||||
msg
|
||||
} = await $.get('/platform/welfare/common/courierNumberInfo', {welfareId, userId})
|
||||
this.loading = false
|
||||
if (code === 0) {
|
||||
if (data == null || data.length === 0) {
|
||||
this.dialogVisible = false
|
||||
this.$message.warning('您还没有选择福利套餐')
|
||||
return
|
||||
}
|
||||
this.courierNumberInfoData = data
|
||||
const keys = Object.keys(this.courierNumberInfoData)
|
||||
this.activeName = keys && keys[0]
|
||||
|
||||
} else {
|
||||
this.$message.warning(msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,30 @@
|
||||
<template>
|
||||
<el-dialog title="套餐评价" width="60%" :visible.sync="dialogVisible" :append-to-body="true" top="50px">
|
||||
|
||||
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "Evaluate",
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openView(welfareId, userId) {
|
||||
this.dialogVisible = true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -3,125 +3,22 @@
|
||||
|
||||
|
||||
<template name="基本信息">
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" style="font-weight: bolder;color: RGB(8,23,118)">
|
||||
子女信息</h2>
|
||||
</div>
|
||||
<van-cell-group class="info">
|
||||
<van-cell title="教职工" :value="viewData.jzgname"></van-cell>
|
||||
<van-cell title="职称" :value="viewData.dj_zc"></van-cell>
|
||||
<van-cell title="学历" :value="viewData.dj_xl"></van-cell>
|
||||
<van-cell title="家庭住址" :value="viewData.dj_jtzz"></van-cell>
|
||||
<van-cell title="户口所在地" :value="viewData.dj_hjszd"></van-cell>
|
||||
<van-cell title="户口所在地派出所" :value="viewData.dj_hjssxq"></van-cell>
|
||||
<van-cell title="联系电话" :value="viewData.dj_iphone"></van-cell>
|
||||
<van-cell title="是否集体户" :value="viewData.isCollectiveHouseholds">
|
||||
{{viewData.isCollectiveHouseholds ?'是':'否'}}
|
||||
</van-cell>
|
||||
|
||||
<van-cell title="子女姓名" :value="viewData.dj_znname"></van-cell>
|
||||
<van-cell title="性别" :value="viewData.dj_znsex"></van-cell>
|
||||
<van-cell title="出生日期" :value="viewData.dj_znzsny" v-if="viewData.dj_djlx===1"></van-cell>
|
||||
<van-cell title="身份证号" :value="viewData.dj_znidcard"></van-cell>
|
||||
<van-cell title="正读学校" :value="viewData.dj_jdxx"></van-cell>
|
||||
<van-cell title="户籍所在地" :value="viewData.dj_hjszd"></van-cell>
|
||||
<van-cell title="拟选学校" :value="viewData.dj_sqxx"></van-cell>
|
||||
|
||||
<!-- <tamplate v-if="viewData.dj_djlx===3">
|
||||
<van-cell title="所在小学" :value="viewData.dj_szxx"></van-cell>
|
||||
<van-cell title="学区中学" :value="viewData.dj_djlx"></van-cell>
|
||||
<van-cell title="意向学校" :value="viewData.dj_sqxx_name"></van-cell>
|
||||
<van-cell title="语文" :value="viewData.dj_qmkfy"></van-cell>
|
||||
<van-cell title="数学" :value="viewData.dj_qmkfs"></van-cell>
|
||||
<van-cell title="外语" :value="viewData.dj_qmkfw"></van-cell>
|
||||
</tamplate>-->
|
||||
|
||||
<!-- <template>
|
||||
<van-cell title="子女出生年月" :value="viewData.dj_znzsny" v-if="viewData.dj_djlx===2"></van-cell>
|
||||
<van-cell title="户籍所属辖区" :value="viewData.dj_hjssxq"></van-cell>
|
||||
<van-cell title="户籍所属小学" :value="viewData.dj_hjssxx" v-if="viewData.dj_djlx===2"></van-cell>
|
||||
<van-cell title="子女户籍所在地" :value="viewData.dj_znhjszd"></van-cell>
|
||||
</template>-->
|
||||
</van-cell-group>
|
||||
<div style="width: 100%;padding: 16px 0;">
|
||||
<h2 class="van-doc-demo-block__title" style="font-weight: bolder;color: RGB(8,23,118)">
|
||||
教职工信息</h2>
|
||||
</div>
|
||||
<van-cell-group class="info">
|
||||
|
||||
<van-cell title="教职工" :value="viewData.jzgname"></van-cell>
|
||||
<van-cell title="工号" :value="viewData.dj_gzh"></van-cell>
|
||||
<van-cell title="职务、职称" :value="viewData.dj_zw" v-if="viewData.dj_djlx===2"></van-cell>
|
||||
<!-- <van-cell title="技术职称" :value="viewData.dj_zc"></van-cell>
|
||||
<van-cell title="职称评定时间" :value="viewData.dj_zcsj"></van-cell>
|
||||
<van-cell title="行政职级任职时间" :value="viewData.dj_rzsj"></van-cell>
|
||||
<van-cell title="省级人才称号" :value="viewData.dj_rcch"></van-cell>
|
||||
<van-cell title="获人才称号时间" :value="viewData.dj_rcchsj"></van-cell>
|
||||
<van-cell title="荣誉或奖项" :value="viewData.dj_rxjx" v-if="viewData.dj_djlx===3"></van-cell>-->
|
||||
<van-cell title="手机号码" :value="viewData.dj_iphone"></van-cell>
|
||||
<van-cell title="所在单位" :value="viewData.dj_szdw"></van-cell>
|
||||
<van-cell title="用工方式" :value="viewData.dj_ygfs"></van-cell>
|
||||
<!-- <tamplate v-if="viewData.dj_djlx===2">
|
||||
<van-cell title="教职工户籍所在地" :value="viewData.dj_hjszd"></van-cell>
|
||||
<van-cell title="房产证地址" :value="viewData.dj_jtzz"></van-cell>
|
||||
</tamplate>-->
|
||||
<van-cell title="备注" :value="viewData.dj_bz"></van-cell>
|
||||
|
||||
<van-field label="户口簿图片" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">户口簿图片</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="hkfile" view :del="false"
|
||||
v-if="hkfile&&hkfile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="子女出生证图片" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">子女出生证图片</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="csfile" view :del="false"
|
||||
v-if="csfile&&csfile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="学历学位证或教师资格证" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">学历学位证或教师资格证</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="jszgfile" view :del="false"
|
||||
v-if="jszgfile&&jszgfile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="聘用合同复印件" style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">聘用合同复印件</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="pyhtfile" view :del="false"
|
||||
v-if="pyhtfile&&pyhtfile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<!-- <van-field label="房产证或无房证明" style="flex-flow: column" v-if="viewData.dj_djlx===2">
|
||||
<template #label>
|
||||
<div class="mb10">房产证或无房证明</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="fcfile" view :del="false"
|
||||
v-if="fcfile&&fcfile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="六上期末考分证明" style="flex-flow: column" input-align="left" v-if="viewData.dj_djlx===3">
|
||||
<template #label>
|
||||
<div class="mb10">六上期末考分证明</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="qmkffile" view :del="false"
|
||||
v-if="qmkffile&&qmkffile.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
</van-field>-->
|
||||
</van-cell-group>
|
||||
</template>
|
||||
|
||||
@@ -250,4 +147,4 @@ module.exports = {
|
||||
width: 8.2em !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -1,213 +1,49 @@
|
||||
<template>
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="申请信息" name="1">
|
||||
<el-form label-suffix=":" style="padding: 20px 0" label-width="160px">
|
||||
<el-row gutter="20">
|
||||
<vi-title title="子女信息"></vi-title>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="子女姓名">
|
||||
{{ viewData.dj_znname }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- <template v-if="viewData.dj_djlx===3">
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在小学">
|
||||
{{ viewData.dj_szxx }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!– –>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="学区中学">
|
||||
{{ viewData.dj_xqzx }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="意向学校">
|
||||
{{ viewData.dj_sqxx_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="六上期末考分语文">
|
||||
{{ viewData.dj_qmkfy }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="六上期末考分数学">
|
||||
{{ viewData.dj_qmkfs }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="六上期末考分外语">
|
||||
{{ viewData.dj_qmkfw }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>-->
|
||||
|
||||
<template>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="性别">
|
||||
{{ viewData.dj_znsex }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="出生日期">
|
||||
{{ viewData.dj_znzsny }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="身份证号">
|
||||
{{ viewData.dj_znidcard }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="正读学校">
|
||||
{{ viewData.dj_jdxx }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="户籍所在地">
|
||||
{{ viewData.dj_hjszd }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="拟选学校">
|
||||
{{ viewData.dj_sqxx }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- <el-col :span="12" v-if="viewData.dj_djlx==2">
|
||||
<el-form-item label="子女出生年月">
|
||||
{{ viewData.dj_znzsny }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="户籍所属辖区">
|
||||
{{ viewData.dj_hjssxq }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="户籍所属小学" v-if="viewData.dj_djlx==2">
|
||||
{{ viewData.dj_hjssxx }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="子女户籍所在地">
|
||||
{{ viewData.dj_znhjszd }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</template>-->
|
||||
</template>
|
||||
</el-row>
|
||||
|
||||
<el-row gutter="20">
|
||||
<vi-title title="教职工信息"></vi-title>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="子女身份证号">
|
||||
{{ viewData.dj_znidcard }}
|
||||
</el-form-item>
|
||||
</el-col>-->
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="教职工">
|
||||
{{ viewData.jzgname }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="工号">
|
||||
{{ viewData.dj_gzh }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职务、职称">
|
||||
{{ viewData.dj_zw }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="12" v-if="viewData.dj_djlx===2">
|
||||
<el-form-item label="工作单位起始时间">
|
||||
{{ viewData.dj_rxsj }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="行政职务级别">
|
||||
{{ viewData.dj_zw }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="行政职级任职时间">
|
||||
{{ viewData.dj_rzsj }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="省级人才称号">
|
||||
{{ viewData.dj_rcch }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="获人才称号时间">
|
||||
{{ viewData.dj_rcchsj }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="viewData.dj_djlx===3">
|
||||
<el-form-item label="荣誉或奖项">
|
||||
{{ viewData.dj_rxjx }}
|
||||
</el-form-item>
|
||||
</el-col>-->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机号码">
|
||||
{{ viewData.dj_iphone }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所在单位">
|
||||
{{ viewData.dj_szdw }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用工方式">
|
||||
{{ viewData.dj_ygfs }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注">
|
||||
{{ viewData.dj_bz }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="户口簿图片">
|
||||
<file-upload :files="hkfile" view></file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="子女出生证">
|
||||
<file-upload :files="csfile" view></file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="学历学位证或教师资格证">
|
||||
<file-upload :files="jszgfile" view></file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="聘用合同复印件">
|
||||
<file-upload :files="pyhtfile" view></file-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<el-descriptions border class="descriptions-form">
|
||||
<el-descriptions-item label="登记类型" :span="3">
|
||||
<dict-tag :options="dict.type.childrenSchoolRegisterType" :value="viewData.dj_djlx"></dict-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="青年教职工姓名">
|
||||
{{ viewData.dj_xm }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="职称">
|
||||
{{ viewData.dj_zc }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="学历">
|
||||
{{ viewData.dj_xl }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="青年教职工家庭住址" :span="3">
|
||||
{{ viewData.dj_jtzz }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="户口所在地" :span="3">
|
||||
{{ viewData.dj_hjszd }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="户口所在地派出所" :span="3">
|
||||
{{ viewData.dj_hjssxq }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系电话">
|
||||
{{ viewData.dj_iphone }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item></el-descriptions-item>
|
||||
<el-descriptions-item></el-descriptions-item>
|
||||
<el-descriptions-item label="子女姓名">
|
||||
{{ viewData.dj_znname }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="子女性别">
|
||||
{{ viewData.dj_znsex }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="子女出生年月">
|
||||
{{ viewData.dj_znzsny }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="3">
|
||||
{{ viewData.dj_babz }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" :span="3">
|
||||
<file-upload view :files="viewData.files"></file-upload>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="viewData.dj_fghshr" label="分工会审核信息" name="2">
|
||||
<el-card>
|
||||
@@ -218,9 +54,6 @@
|
||||
<el-form-item label="审核时间">
|
||||
<div>{{ viewData.dj_fghshsj }}</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="审核结果">
|
||||
<div>{{ [2, 4, 5].includes(viewData.dj_sqzt) ? '通过' : '不通过' }}</div>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="审核意见">
|
||||
<div>{{ viewData.dj_fghshyj }}</div>
|
||||
</el-form-item>
|
||||
@@ -236,33 +69,12 @@
|
||||
<el-form-item label="审核时间">
|
||||
<div>{{ viewData.dj_xghshsj }}</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="审核结果">
|
||||
<div>{{ viewData.dj_sqzt === 5 ? '通过' : '不通过' }}</div>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="审核意见">
|
||||
<div>{{ viewData.dj_xghshyj }}</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane v-if="viewData.dj_bashr" label="备案信息" name="4">
|
||||
<el-card>
|
||||
<el-form label-position="right" label-width="100px">
|
||||
<el-form-item label="备案人">
|
||||
<div>{{ viewData.dj_bashr }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="备案时间">
|
||||
<div>{{ viewData.dj_bashsj }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="备案信息">
|
||||
<div>{{ viewData.dj_sfrx ? '继续等待' : '放弃名额' }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<div>{{ viewData.dj_babz }}</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</el-tab-pane>
|
||||
<slot name="audit">
|
||||
|
||||
</slot>
|
||||
@@ -272,6 +84,7 @@
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
dicts: ['childrenSchoolRegisterType'],
|
||||
props: {
|
||||
activeName: {
|
||||
type: String,
|
||||
@@ -281,40 +94,20 @@ module.exports = {
|
||||
data() {
|
||||
return {
|
||||
viewData: {},
|
||||
hkfile: [],
|
||||
csfile: [],
|
||||
fcfile: [],
|
||||
qmkffile: [],
|
||||
jszgfile: [],
|
||||
pyhtfile: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async openView(row) {
|
||||
this.viewData = row
|
||||
const resp = await $.get('/platform/zgfw/rxdjxx/findfjList', {id: row.dj_id})
|
||||
this.csfile = resp.data.filter(v => v.bz === "csfile")
|
||||
this.hkfile = resp.data.filter(v => v.bz === "hkfile")
|
||||
this.fcfile = resp.data.filter(v => v.bz === "fcfile")
|
||||
this.qmkffile = resp.data.filter(v => v.bz === "qmkffile")
|
||||
this.pyhtfile = resp.data.filter(v => v.bz === "pyhtfile")
|
||||
this.jszgfile = resp.data.filter(v => v.bz === "jszgfile")
|
||||
},
|
||||
async openAudit(row, activeName) {
|
||||
this.openView(row)
|
||||
this.activeName = activeName
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.rxdj-img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
margin-right: 10px;
|
||||
border: 1px dashed grey;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,252 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
title="校工会修改"
|
||||
top="50px"
|
||||
:visible.sync="dialogVisible"
|
||||
width="70%">
|
||||
<el-form :model="AddFormData"
|
||||
:rules="rules"
|
||||
ref="AddForm"
|
||||
class="applyForm"
|
||||
label-width="0">
|
||||
|
||||
<el-descriptions border class="descriptions-form">
|
||||
<el-descriptions-item label="登记类型" :span="3">
|
||||
<el-form-item label-width="0" prop="dj_djlx"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="AddFormData.dj_djlx" size="small">
|
||||
<el-radio v-for="item in currentYearSchoolPlans"
|
||||
:key="item.id"
|
||||
:label="item.bmlx"
|
||||
:disabled="!item.bmkqzt"
|
||||
border>
|
||||
<span v-if="item.bmlx==1">
|
||||
幼儿园({{ item.bmkssj + '至' + item.bmjssj }})
|
||||
</span>
|
||||
<span v-else-if="item.bmlx==2">
|
||||
小学({{ item.bmkssj + '至' + item.bmjssj }})
|
||||
</span>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="青年教职工姓名">
|
||||
<el-form-item label-width="0" prop="dj_xm">
|
||||
<el-input clearable v-model="AddFormData.dj_xm"
|
||||
disabled
|
||||
placeholder="青年教职工姓名"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="职称">
|
||||
<el-form-item label-width="0" prop="dj_zc"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input clearable v-model="AddFormData.dj_zc"
|
||||
placeholder="职称"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="学历"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-form-item label-width="0" prop="dj_xl">
|
||||
<el-input clearable v-model="AddFormData.dj_xl"
|
||||
placeholder="学历"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="青年教职工家庭住址" :span="3">
|
||||
<el-form-item label-width="0" prop="dj_jtzz"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="AddFormData.dj_jtzz" max="50"
|
||||
placeholder="请填写家庭住址"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="户口所在地" :span="3">
|
||||
<el-form-item label-width="0" prop="dj_hjszd"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="AddFormData.dj_hjszd" max="50"
|
||||
placeholder="请填写户口所在地"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="户口所在地派出所" :span="3">
|
||||
<el-form-item label-width="0" prop="dj_hjssxq"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="AddFormData.dj_hjssxq" max="50"
|
||||
placeholder="请填写户口所在地派出所"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="联系电话">
|
||||
<el-form-item label-width="0" prop="dj_iphone"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="AddFormData.dj_iphone" max="11"
|
||||
placeholder="请填写联系电话"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否集体户">
|
||||
<el-form-item label-width="0" prop="isCollectiveHouseholds"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="AddFormData.isCollectiveHouseholds" size="small">
|
||||
<el-radio :label="true" border>是</el-radio>
|
||||
<el-radio :label="false" border>否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item></el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="子女姓名">
|
||||
<el-form-item label-width="0" prop="dj_znname"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-input v-model="AddFormData.dj_znname" max="30"
|
||||
placeholder="请填写子女姓名"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="子女性别">
|
||||
<el-form-item label-width="0" prop="dj_znsex"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="AddFormData.dj_znsex" size="small">
|
||||
<el-radio label="男" border>男</el-radio>
|
||||
<el-radio label="女" border>女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="子女出生年月">
|
||||
<el-form-item label-width="0" prop="dj_znzsny"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-date-picker v-model="AddFormData.dj_znzsny"
|
||||
placeholder="请选择子女出生年月"
|
||||
value-format="yyyy-MM-dd"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="备注">
|
||||
<el-form-item label-width="0" prop="dj_babz">
|
||||
<el-input v-model="AddFormData.dj_babz" placeholder="备注"
|
||||
max="200"></el-input>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-row type="flex" justify="end" class="mt20">
|
||||
<el-button type="" @click="dialogVisible=false">
|
||||
关闭
|
||||
</el-button>
|
||||
<el-button type="primary" @click="adminSave">
|
||||
保存
|
||||
</el-button>
|
||||
</el-row>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
name: "rxdjEdit",
|
||||
dicts: ['childrenSchoolRegisterType'],
|
||||
data() {
|
||||
return {
|
||||
id: null,
|
||||
sqxxOptions: [],
|
||||
dj_znzsny_placeholder: "",
|
||||
planstatus: {dj_znzsny: null},
|
||||
AddFormData: {
|
||||
csfile: [],
|
||||
hkfile: []
|
||||
},
|
||||
rules: {},
|
||||
loading: false,
|
||||
userList: {},
|
||||
hkfile: [],
|
||||
csfile: [],
|
||||
qmkffile: [],
|
||||
znnameOptions: [],
|
||||
|
||||
currentYearSchoolPlans: [],
|
||||
dialogVisible: false
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
typeStatus() {
|
||||
if (this.AddFormData.dj_djlx) {
|
||||
return this.currentYearSchoolPlans.find(v => v.bmlx === this.AddFormData.dj_djlx)
|
||||
}
|
||||
return null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async open(id) {
|
||||
const {code, msg, data} = await $.post('/platform/zgfw/rxdjsq/findOne', {id})
|
||||
if (code === 0) {
|
||||
this.AddFormData = data
|
||||
this.dialogVisible = true
|
||||
}
|
||||
},
|
||||
async adminSave() {
|
||||
const {code, msg, data} = await $.post('/platform/zgfw/rxdj/sh/adminSave', {
|
||||
info: JSON.stringify(this.AddFormData)
|
||||
})
|
||||
if (code === 0) {
|
||||
this.$message.success(msg)
|
||||
this.dialogVisible = false
|
||||
} else {
|
||||
this.$message.error(msg)
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
async created() {
|
||||
$.get('/platform/zgfw/rxdjsq/schoolPlans').then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.currentYearSchoolPlans = resp.data
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.applyForm .el-row--flex .el-form-item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
.descriptions-form .el-form-item {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.disabled-group .el-radio {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.nowrap-select-tag .el-select__tags {
|
||||
flex-wrap: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.required-form-item::before {
|
||||
content: '*';
|
||||
color: #f56c6c;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.el-descriptions-item__label {
|
||||
min-width: 180px;
|
||||
}
|
||||
|
||||
.applyForm .el-table__empty-block {
|
||||
background: unset;
|
||||
min-height: 60px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user