bug整改
This commit is contained in:
@@ -161,7 +161,14 @@ layout("/mobile/platform.html"){
|
||||
<van-button @click.stop="openView(o)" type="primary" size="small" color="#1867b0" style="margin-right: 8px; width: auto">
|
||||
查看
|
||||
</van-button>
|
||||
<van-button @click.stop="openAudit(o)" type="primary" size="small" color="#1867b0" style="margin-right: 8px; width: auto">
|
||||
<van-button
|
||||
@click.stop="openAudit(o)"
|
||||
v-if="o.status == 1"
|
||||
type="primary"
|
||||
size="small"
|
||||
color="#1867b0"
|
||||
style="margin-right: 8px; width: auto"
|
||||
>
|
||||
审核
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
@@ -505,10 +505,21 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
str += "请确认是否申请加入【" + row.name + "】?"
|
||||
vant.Dialog.confirm({ title: "提示", message: str })
|
||||
.then(() => {
|
||||
.then(async () => {
|
||||
this.formData.clubid = row.id
|
||||
this.formData.photo = this.formData.photo[0].filepath
|
||||
$.post(
|
||||
if (this.formData.photo && this.formData.photo.length > 0) {
|
||||
this.formData.photo = this.formData.photo[0].filepath
|
||||
}
|
||||
// this.formData.photo = this.formData.photo[0].filepath
|
||||
const resp = await $.post("/platform/sys/club/sq/submit", this.formData)
|
||||
if (resp.code === 0) {
|
||||
vant.Toast(resp.msg)
|
||||
this.doSearch()
|
||||
this.infoShow = false
|
||||
} else {
|
||||
vant.Toast(resp.msg)
|
||||
}
|
||||
/*$.post(
|
||||
"/platform/sys/club/sq/submit",
|
||||
this.formData,
|
||||
(data) => {
|
||||
@@ -521,7 +532,7 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
"json"
|
||||
)
|
||||
)*/
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
|
||||
@@ -3,208 +3,149 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="填写慰问申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="填写慰问申请" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px">
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name" label="经办人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name" label="经办人工号"></van-field>
|
||||
<van-field
|
||||
@input="userRemoteMethod"
|
||||
name="be_user_name"
|
||||
required
|
||||
v-model="formData.be_user_name"
|
||||
label="慰问对象"
|
||||
placeholder="请输入慰问对象"
|
||||
:rules="[{ required: true, message: '请填写慰问对象' }]"
|
||||
></van-field>
|
||||
<van-action-sheet
|
||||
v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []; formData.be_user_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect"
|
||||
></van-action-sheet>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name"
|
||||
label="经办人姓名"></van-field>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name"
|
||||
label="经办人工号"></van-field>
|
||||
<van-field @input="userRemoteMethod" name="be_user_name"
|
||||
required
|
||||
v-model="formData.be_user_name" label="慰问对象" placeholder="请输入慰问对象"
|
||||
:rules="[{ required: true, message: '请填写慰问对象' }]"></van-field>
|
||||
<van-action-sheet v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []; formData.be_user_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect">
|
||||
</van-action-sheet>
|
||||
|
||||
<van-field readonly :value="formData.apply_time" name="apply_time" label="申请时间"></van-field>
|
||||
|
||||
<van-field
|
||||
@input="payeeUserRemoteMethod"
|
||||
name="payee_name"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择收款人' }]"
|
||||
v-model="formData.payee_name"
|
||||
label="收款人"
|
||||
placeholder="请输入收款人"
|
||||
<van-field readonly :value="formData.apply_time" name="apply_time"
|
||||
label="申请时间"
|
||||
></van-field>
|
||||
<van-action-sheet
|
||||
v-model="payeeSheetShow"
|
||||
:actions="payeeUserList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="payeeUserList = []; formData.payee_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="payeeOnUserSelect"
|
||||
></van-action-sheet>
|
||||
|
||||
|
||||
<van-field @input="payeeUserRemoteMethod" name="payee_name"
|
||||
required :rules="[{ required: true, message: '请选择收款人' }]"
|
||||
v-model="formData.payee_name" label="收款人" placeholder="请输入收款人"></van-field>
|
||||
<van-action-sheet v-model="payeeSheetShow"
|
||||
:actions="payeeUserList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="payeeUserList = []; formData.payee_name = ''"
|
||||
:close-on-click-overlay="false"
|
||||
@select="payeeOnUserSelect">
|
||||
</van-action-sheet>
|
||||
<!--<van-field v-model="formData.payee_bank_number" name="payee_bank_number" type="number"
|
||||
label="收款人银行卡" placeholder="请输入收款人银行卡"></van-field>
|
||||
<van-field v-model="formData.payee_bank_name" name="payee_bank_name"
|
||||
label="收款人开户行" placeholder="请输入收款人开户行"></van-field>-->
|
||||
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="type"
|
||||
:value="formData.typeName"
|
||||
required
|
||||
label="慰问类型"
|
||||
@click="showTypePicker = true"
|
||||
placeholder="点击选择慰问类型"
|
||||
:rules="[{ required:true, message: '请选择慰问类型'}]"
|
||||
></van-field>
|
||||
|
||||
<van-field readonly clickable name="type" :value="formData.typeName"
|
||||
required
|
||||
label="慰问类型"
|
||||
@click="showTypePicker = true" placeholder="点击选择慰问类型"
|
||||
:rules="[{ required:true, message: '请选择慰问类型'}]"></van-field>
|
||||
<van-popup v-model:show="showTypePicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm" @cancel="showTypePicker = false"></van-picker>
|
||||
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm"
|
||||
@cancel="showTypePicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="way"
|
||||
:value="formData.wayName"
|
||||
label="慰问方式"
|
||||
required
|
||||
placeholder="点击选择慰问方式"
|
||||
:rules="[{ required:true, message: '请选择慰问方式'}]"
|
||||
></van-field>
|
||||
<van-field readonly clickable name="way" :value="formData.wayName"
|
||||
label="慰问方式"
|
||||
required
|
||||
placeholder="点击选择慰问方式"
|
||||
:rules="[{ required:true, message: '请选择慰问方式'}]"></van-field>
|
||||
<van-popup v-model:show="showWayPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="wayColumns" @confirm="onWayConfirm" @cancel="showWayPicker = false"></van-picker>
|
||||
<van-picker show-toolbar :columns="wayColumns" @confirm="onWayConfirm"
|
||||
@cancel="showWayPicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
v-model="formData.money"
|
||||
name="money"
|
||||
type="number"
|
||||
label="慰问金额"
|
||||
placeholder="请填写慰问金额"
|
||||
:rules="[{ required:true, message: '请填写慰问金额' }]"
|
||||
></van-field>
|
||||
<van-field v-model="formData.money" name="money" type="number" label="慰问金额"
|
||||
placeholder="请填写慰问金额"
|
||||
:rules="[{ required:true, message: '请填写慰问金额' }]"></van-field>
|
||||
|
||||
<!-- 孩次 -->
|
||||
<van-field
|
||||
readonly
|
||||
clickable
|
||||
name="type"
|
||||
v-model="formData.birth_child_num"
|
||||
required
|
||||
v-if="formData.type==='2'"
|
||||
label="孩次"
|
||||
@click="showChildPicker = true"
|
||||
placeholder="点击选择孩次"
|
||||
:rules="[{ required:true, message: '请选择孩次'}]"
|
||||
></van-field>
|
||||
<van-field readonly clickable name="type" v-model="formData.birth_child_num"
|
||||
required v-if="formData.type==='2'"
|
||||
label="孩次"
|
||||
@click="showChildPicker = true" placeholder="点击选择孩次"
|
||||
:rules="[{ required:true, message: '请选择孩次'}]"></van-field>
|
||||
<van-popup v-model:show="showChildPicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="childColumns" @confirm="onChildConfirm" @cancel="showChildPicker = false"></van-picker>
|
||||
<van-picker show-toolbar :columns="childColumns" @confirm="onChildConfirm"
|
||||
@cancel="showChildPicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写慰问时间' }]"
|
||||
readonly
|
||||
clickable
|
||||
name="occur_time"
|
||||
:value="formData.occur_time"
|
||||
label="慰问时间"
|
||||
placeholder="点击选择慰问时间"
|
||||
@click="showOccurTime = true"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写慰问时间' }]"
|
||||
readonly
|
||||
clickable
|
||||
name="occur_time"
|
||||
:value="formData.occur_time"
|
||||
label="慰问时间"
|
||||
placeholder="点击选择慰问时间"
|
||||
@click="showOccurTime = true"
|
||||
></van-field>
|
||||
<van-calendar
|
||||
v-model="showOccurTime"
|
||||
@confirm="onOccurTimeConfirm"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:color="themeColor"
|
||||
></van-calendar>
|
||||
<van-calendar v-model="showOccurTime"
|
||||
@confirm="onOccurTimeConfirm"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:color="themeColor"></van-calendar>
|
||||
|
||||
<template v-if="['3','4'].includes(formData.type)">
|
||||
<van-field
|
||||
v-model="formData.the_hospital"
|
||||
name="the_hospital"
|
||||
label="治疗医院"
|
||||
placeholder="请填写治疗医院"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写治疗医院' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.the_hospital_house_num"
|
||||
name="the_hospital_house_num"
|
||||
label="病房号"
|
||||
placeholder="请填写病房号"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写病房号' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.the_hospital_house_bed_num"
|
||||
name="the_hospital_house_bed_num"
|
||||
label="床号"
|
||||
placeholder="请填写床号"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写床号' }]"
|
||||
></van-field>
|
||||
<van-field v-model="formData.the_hospital" name="the_hospital" label="治疗医院"
|
||||
placeholder="请填写治疗医院" required
|
||||
:rules="[{ required:true, message: '请填写治疗医院' }]"></van-field>
|
||||
<van-field v-model="formData.the_hospital_house_num" name="the_hospital_house_num" label="病房号"
|
||||
placeholder="请填写病房号" required
|
||||
:rules="[{ required:true, message: '请填写病房号' }]"></van-field>
|
||||
<van-field v-model="formData.the_hospital_house_bed_num" name="the_hospital_house_bed_num" label="床号"
|
||||
placeholder="请填写床号" required
|
||||
:rules="[{ required:true, message: '请填写床号' }]"></van-field>
|
||||
</template>
|
||||
|
||||
<template v-if="['4'].includes(formData.type)">
|
||||
<van-field
|
||||
v-model="formData.hospital_by"
|
||||
name="hospital_by"
|
||||
label="患病病种"
|
||||
placeholder="请填写患病病种"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写患病病种' }]"
|
||||
></van-field>
|
||||
<van-field v-model="formData.hospital_by" name="hospital_by" label="患病病种"
|
||||
placeholder="请填写患病病种" required
|
||||
:rules="[{ required:true, message: '请填写患病病种' }]"></van-field>
|
||||
</template>
|
||||
|
||||
<template v-if="['6'].includes(formData.type)">
|
||||
<van-field
|
||||
v-model="formData.deadImmediateFamily"
|
||||
name="deadImmediateFamily"
|
||||
label="直系亲属"
|
||||
placeholder="配偶、父亲、母亲、子女"
|
||||
required
|
||||
:rules="[{ required:true, message: '必填' }]"
|
||||
></van-field>
|
||||
<van-field v-model="formData.deadImmediateFamily" name="deadImmediateFamily" label="直系亲属"
|
||||
placeholder="配偶、父亲、母亲、子女" required
|
||||
:rules="[{ required:true, message: '必填' }]"></van-field>
|
||||
</template>
|
||||
|
||||
<!-- <template-->
|
||||
<!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">-->
|
||||
<!-- <van-field :value="formData.hospital_stay"-->
|
||||
<!-- readonly clickable required-->
|
||||
<!-- @click="hospital_stay = true"-->
|
||||
<!-- name="hospital_stay" label="住院时间"-->
|
||||
<!-- placeholder="请选择住院时间"-->
|
||||
<!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>-->
|
||||
<!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"-->
|
||||
<!-- :min-date="new Date('1999-01-01')"-->
|
||||
<!-- :color="themeColor"></van-calendar>-->
|
||||
<!-- <template-->
|
||||
<!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">-->
|
||||
<!-- <van-field :value="formData.hospital_stay"-->
|
||||
<!-- readonly clickable required-->
|
||||
<!-- @click="hospital_stay = true"-->
|
||||
<!-- name="hospital_stay" label="住院时间"-->
|
||||
<!-- placeholder="请选择住院时间"-->
|
||||
<!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>-->
|
||||
<!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"-->
|
||||
<!-- :min-date="new Date('1999-01-01')"-->
|
||||
<!-- :color="themeColor"></van-calendar>-->
|
||||
|
||||
<!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"-->
|
||||
<!-- placeholder="请填写所在医院" required-->
|
||||
<!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>-->
|
||||
<!-- </template>-->
|
||||
<!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"-->
|
||||
<!-- placeholder="请填写所在医院" required-->
|
||||
<!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>-->
|
||||
<!-- </template>-->
|
||||
|
||||
<van-field
|
||||
v-model="formData.remark"
|
||||
name="remark"
|
||||
label="申请事由"
|
||||
style="flex-flow: column"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写申请事由' }]"
|
||||
placeholder="请填写申请事由"
|
||||
input-align="left"
|
||||
rows="3"
|
||||
maxlength="200"
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
autosize
|
||||
>
|
||||
<van-field v-model="formData.remark" name="remark" label="申请事由" style="flex-flow: column"
|
||||
required
|
||||
:rules="[{ required:true, message: '请填写申请事由' }]"
|
||||
placeholder="请填写申请事由"
|
||||
input-align="left"
|
||||
rows="3" maxlength="200" type="textarea" show-word-limit autosize>
|
||||
<template #label>
|
||||
<div class="mb10">申请事由</div>
|
||||
</template>
|
||||
@@ -212,7 +153,8 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10" v-if="isUploadFile === true">
|
||||
<van-field name="files" label="附  件" required style="flex-flow: column" input-align="left">
|
||||
<van-field name="files" label="附  件" required
|
||||
style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">附  件</div>
|
||||
</template>
|
||||
@@ -220,8 +162,8 @@ layout("/mobile/platform.html"){
|
||||
<vant-file-upload :files.sync="formData.files"></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
<div style="margin: 0 0 7px 15px" v-if="isUploadFile && uploadFileDesc">
|
||||
<span style="color: red">上传附件说明:{{ uploadFileDesc }}</span>
|
||||
<div style="margin: 0 0 7px 15px;" v-if="isUploadFile && uploadFileDesc">
|
||||
<span style="color:red;">上传附件说明:{{ uploadFileDesc }}</span>
|
||||
</div>
|
||||
</van-cell-group>
|
||||
|
||||
@@ -237,21 +179,26 @@ layout("/mobile/platform.html"){
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">提 交</van-button>
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">
|
||||
提 交
|
||||
</van-button>
|
||||
</div>
|
||||
</van-form>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive" style="z-index: 99">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
|
||||
</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -275,38 +222,34 @@ layout("/mobile/platform.html"){
|
||||
money: 0,
|
||||
isUploadFile: true,
|
||||
uploadFileDesc: null,
|
||||
showChildPicker: false,
|
||||
childColumns: [
|
||||
{ value: "一孩", text: "一孩" },
|
||||
{ value: "二孩", text: "二孩" },
|
||||
{ value: "三孩", text: "三孩" }
|
||||
]
|
||||
showChildPicker:false,
|
||||
childColumns:[{value:'一孩',text:'一孩'},{value:'二孩',text:'二孩'},{value:'三孩',text:'三孩'}],
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
"formData.money"(val) {
|
||||
if (val > this.money) {
|
||||
this.$notify({
|
||||
title: "警告",
|
||||
message: "金额超过规定金额" + this.money + "(元)",
|
||||
type: "warning"
|
||||
})
|
||||
title: '警告',
|
||||
message: '金额超过规定金额' + this.money + "(元)",
|
||||
type: 'warning'
|
||||
});
|
||||
this.$set(this.formData, "money", this.money)
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue?v='+new Date().getTime()),
|
||||
},
|
||||
methods: {
|
||||
onChildConfirm(data) {
|
||||
onChildConfirm(data){
|
||||
console.log(data)
|
||||
this.formData.birth_child_num = data.value
|
||||
this.showChildPicker = false
|
||||
},
|
||||
priceInput() {
|
||||
let num = 0
|
||||
this.goods.forEach((v) => {
|
||||
this.goods.forEach(v => {
|
||||
num += parseFloat(v.price)
|
||||
})
|
||||
this.$set(this.formData, "money", num)
|
||||
@@ -316,19 +259,18 @@ layout("/mobile/platform.html"){
|
||||
this.showOccurTime = false
|
||||
},
|
||||
onConfirm(date) {
|
||||
const [start, end] = date
|
||||
this.hospital_stay = false
|
||||
this.formData.hospital_stay = moment(start).format("YYYY-MM-DD") + "-" + moment(end).format("YYYY-MM-DD")
|
||||
this.$set(this.formData, "hospital_stay_1", moment(start).format("YYYY-MM-DD"))
|
||||
this.$set(this.formData, "hospital_stay_2", moment(end).format("YYYY-MM-DD"))
|
||||
const [start, end] = date;
|
||||
this.hospital_stay = false;
|
||||
this.formData.hospital_stay = moment(start).format('YYYY-MM-DD') + "-" + moment(end).format('YYYY-MM-DD');
|
||||
this.$set(this.formData, "hospital_stay_1", moment(start).format('YYYY-MM-DD'))
|
||||
this.$set(this.formData, "hospital_stay_2", moment(end).format('YYYY-MM-DD'))
|
||||
},
|
||||
async userRemoteMethod(event) {
|
||||
if (event) {
|
||||
const arr = await this.queryUser(event)
|
||||
this.userList = arr.map((v) => {
|
||||
this.userList = arr.map(v => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id
|
||||
name: v.username + "(" + v.loginname + ")", id: v.id
|
||||
}
|
||||
})
|
||||
this.sheetShow = true
|
||||
@@ -337,33 +279,32 @@ layout("/mobile/platform.html"){
|
||||
async payeeUserRemoteMethod(event) {
|
||||
if (event) {
|
||||
const arr = await this.queryUser(event)
|
||||
this.payeeUserList = arr.map((v) => {
|
||||
this.payeeUserList = arr.map(v => {
|
||||
return {
|
||||
name: v.username + "(" + v.loginname + ")",
|
||||
id: v.id
|
||||
name: v.username + "(" + v.loginname + ")", id: v.id
|
||||
}
|
||||
})
|
||||
this.payeeSheetShow = true
|
||||
}
|
||||
},
|
||||
async queryUser(query) {
|
||||
const { data } = await $.get("/platform/fw/condolence/apply/queryUser", { query })
|
||||
const {data} = await $.get("/platform/fw/condolence/apply/queryUser", {query})
|
||||
return data
|
||||
},
|
||||
onUserSelect(u) {
|
||||
this.$set(this.formData, "be_user", u.id)
|
||||
this.$set(this.formData, "be_user_name", u.name)
|
||||
this.$set(this.formData, 'be_user', u.id)
|
||||
this.$set(this.formData, 'be_user_name', u.name)
|
||||
this.sheetShow = false
|
||||
},
|
||||
payeeOnUserSelect(u) {
|
||||
this.$set(this.formData, "payee", u.id)
|
||||
this.$set(this.formData, "payee_name", u.name)
|
||||
this.$set(this.formData, 'payee', u.id)
|
||||
this.$set(this.formData, 'payee_name', u.name)
|
||||
this.payeeSheetShow = false
|
||||
},
|
||||
async onTypeConfirm(val) {
|
||||
this.$set(this.formData, "typeName", val.text)
|
||||
this.$set(this.formData, "type", val.value)
|
||||
const { data, code, msg } = await $.get("/platform/condolence/type/findOne", { id: val.value })
|
||||
const {data, code, msg} = await $.get("/platform/condolence/type/findOne", {id: val.value})
|
||||
console.log(data)
|
||||
|
||||
this.isUploadFile = data.isUploadFile
|
||||
@@ -371,15 +312,15 @@ layout("/mobile/platform.html"){
|
||||
|
||||
this.$set(this, "money", data.money)
|
||||
await this.moneyChange(val.value)
|
||||
this.showTypePicker = false
|
||||
this.showTypePicker = false;
|
||||
},
|
||||
onWayConfirm(val) {
|
||||
this.$set(this.formData, "wayName", val.text)
|
||||
this.$set(this.formData, "way", val.value)
|
||||
this.showWayPicker = false
|
||||
this.showWayPicker = false;
|
||||
},
|
||||
async moneyChange(id) {
|
||||
const { data, code, msg } = await $.get("/platform/condolence/type/findOne", { id })
|
||||
const {data, code, msg} = await $.get("/platform/condolence/type/findOne", {id})
|
||||
if (data) {
|
||||
this.$set(this.formData, "money", data.money)
|
||||
this.$set(this.formData, "wayName", data.way)
|
||||
@@ -388,34 +329,34 @@ layout("/mobile/platform.html"){
|
||||
},
|
||||
async onSubmit() {
|
||||
if (!this.formData.files) {
|
||||
vant.Toast("请上传附件材料!")
|
||||
vant.Toast('请上传附件材料!')
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
this.$toast("请签名!")
|
||||
this.$toast('请签名!')
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
const formData = clone(this.formData)
|
||||
formData.mobile = "${@shiro.getPrincipalProperty('mobile')}"
|
||||
formData.files = JSON.stringify(formData.files)
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
this.$toast.loading("提交中...")
|
||||
const res = await $.post("/platform/fw/condolence/apply/doAdd", {
|
||||
this.$refs['addForm'].validate().then(async () => {
|
||||
this.$toast.loading('提交中...')
|
||||
const res = await $.post('/platform/fw/condolence/apply/doAdd', {
|
||||
data: JSON.stringify(formData),
|
||||
sign: formData.sign
|
||||
})
|
||||
if (res.code === 0) {
|
||||
this.$toast.success("申请成功")
|
||||
this.$toast.success('申请成功');
|
||||
setTimeout(() => {
|
||||
location.replace("/mobile/condolence/apply")
|
||||
location.replace('/mobile/condolence/apply')
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("申请失败")
|
||||
this.$toast.fail('申请失败');
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
@@ -425,20 +366,21 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
},
|
||||
async created() {
|
||||
this.formData.apply_time = moment().format("YYYY-MM-DD")
|
||||
this.formData.apply_time = moment().format('YYYY-MM-DD')
|
||||
this.formData.be_user = "${@shiro.getPrincipalProperty('id')}"
|
||||
//this.formData.be_user_name = "${@shiro.getPrincipalProperty('username')}" + "(" + "${@shiro.getPrincipalProperty('loginname')}" + ")"
|
||||
const { code, data } = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach((v) => {
|
||||
this.typeColumns.push({ value: v.id, text: v.name + "(" + v.code + ")" })
|
||||
const {code, data} = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach(v => {
|
||||
this.typeColumns.push({value: v.id, text: v.name + "(" + v.code + ")"})
|
||||
})
|
||||
for (let i in condolence.way) {
|
||||
this.wayColumns.push({ value: condolence.way[i], text: condolence.way[i] })
|
||||
this.wayColumns.push({value: condolence.way[i], text: condolence.way[i]})
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style>
|
||||
|
||||
.up_down > .van-cell {
|
||||
flex-flow: column;
|
||||
}
|
||||
@@ -447,15 +389,14 @@ layout("/mobile/platform.html"){
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.van-cell,
|
||||
.van-picker button,
|
||||
.submit .van-button--normal {
|
||||
.van-cell, .van-picker button, .submit .van-button--normal {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<!--#
|
||||
}
|
||||
|
||||
@@ -1,16 +1,19 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style></style>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问申请信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问申请信息" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div>
|
||||
<condolence-info :id.sync="id"></condolence-info>
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button :color="themeColor" block @click="doEdit" class="ml10 mr10" v-if="state_id==2010||state_id==2020">
|
||||
撤 回
|
||||
<van-button :color="themeColor" block @click="doEdit" class="ml10 mr10"
|
||||
v-if="state_id==2010||state_id==2020">撤 回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -18,7 +21,7 @@ layout("/mobile/platform.html"){
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -27,29 +30,30 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
methods: {
|
||||
doEdit() {
|
||||
vant.Dialog.confirm({
|
||||
title: "标题",
|
||||
message: "确认要撤回吗?"
|
||||
title: '标题',
|
||||
message: '确认要撤回吗?',
|
||||
})
|
||||
.then(async () => {
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doEdit", { id: this.id })
|
||||
this.$toast.success("撤回成功")
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doEdit", {id: this.id});
|
||||
this.$toast.success('撤回成功');
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
})
|
||||
.catch(() => {
|
||||
// on cancel
|
||||
})
|
||||
});
|
||||
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.state_id = GetQueryString("state_id")
|
||||
this.id = GetQueryString('id')
|
||||
this.state_id = GetQueryString('state_id')
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -3,10 +3,8 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.apply_btn {
|
||||
animation: come 0.5s;
|
||||
position: fixed;
|
||||
top: 20%;
|
||||
right: 0;
|
||||
animation: come .5s;
|
||||
position: fixed;top: 20%;right: 0
|
||||
}
|
||||
|
||||
@keyframes come {
|
||||
@@ -17,11 +15,12 @@ layout("/mobile/platform.html"){
|
||||
right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
<van-nav-bar title="慰问申请列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问申请列表" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
@@ -30,11 +29,14 @@ layout("/mobile/platform.html"){
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="被慰问人">
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.be_username}}</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}">
|
||||
{{o.be_username}}
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请时间">{{o.apply_time}}</van-cell>
|
||||
<van-cell :border="false" title="慰问类型">{{o.type_name}}</van-cell>
|
||||
@@ -47,61 +49,69 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>-->
|
||||
<!-- <template #icon>-->
|
||||
<!-- <svg t="1634200664904" class="icon" viewBox="0 0 1024 1024" version="1.1"-->
|
||||
<!-- xmlns="http://www.w3.org/2000/svg" p-id="3163" width="32" height="32">-->
|
||||
<!-- <path d="M837.632 160.768c64 0 117.248 53.248 117.248 117.248v470.528c0 64-53.248 117.248-117.248 117.248H187.904c-64 2.048-117.248-50.688-117.248-114.688V278.016c0-64 53.248-117.248 117.248-117.248h649.728z m66.048 590.848V274.944c0-32.768-28.16-60.416-60.416-60.416H184.832c-32.768 0-60.416 28.16-60.416 60.416v479.232c0 32.768 28.16 60.416 60.416 60.416h657.92c32.768-2.56 60.928-28.16 60.928-62.976zM387.072 317.44"-->
|
||||
<!-- fill="#2E77ED" p-id="3164"></path>-->
|
||||
<!-- <path d="M326.144 709.632c-14.848 0-26.624-12.288-26.624-27.136V455.68c0-14.848 12.288-27.136 27.136-27.136S353.28 440.832 353.28 455.68v226.816c-0.512 15.36-12.288 27.136-27.136 27.136z"-->
|
||||
<!-- fill="#FFBB12" p-id="3165"></path>-->
|
||||
<!-- <path d="M569.856 442.368c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 682.496c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 553.472c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136z"-->
|
||||
<!-- fill="#2E77ED" p-id="3166"></path>-->
|
||||
<!-- <path d="M228.352 509.44c-10.24-10.752-10.24-27.648 0-37.888l78.336-78.336c10.752-10.752 27.648-10.752 37.888 0s10.24 27.648 0 37.888L266.24 509.44c-10.24 10.752-27.136 10.752-37.888 0z"-->
|
||||
<!-- fill="#FFBB12" p-id="3167"></path>-->
|
||||
<!-- <path d="M306.688 393.216c10.752-10.24 27.648-10.24 37.888 0l78.336 78.336c10.752 10.752 10.752 27.648 0 37.888s-27.648 10.24-37.888 0L306.688 431.104c-10.24-10.752-10.24-27.648 0-37.888z"-->
|
||||
<!-- fill="#FFBB12" p-id="3168"></path>-->
|
||||
<!-- </svg>-->
|
||||
<!-- </template>-->
|
||||
<!-- 申请-->
|
||||
<!-- </van-button>-->
|
||||
|
||||
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>-->
|
||||
<!-- <template #icon>-->
|
||||
<!-- <svg t="1634200664904" class="icon" viewBox="0 0 1024 1024" version="1.1"-->
|
||||
<!-- xmlns="http://www.w3.org/2000/svg" p-id="3163" width="32" height="32">-->
|
||||
<!-- <path d="M837.632 160.768c64 0 117.248 53.248 117.248 117.248v470.528c0 64-53.248 117.248-117.248 117.248H187.904c-64 2.048-117.248-50.688-117.248-114.688V278.016c0-64 53.248-117.248 117.248-117.248h649.728z m66.048 590.848V274.944c0-32.768-28.16-60.416-60.416-60.416H184.832c-32.768 0-60.416 28.16-60.416 60.416v479.232c0 32.768 28.16 60.416 60.416 60.416h657.92c32.768-2.56 60.928-28.16 60.928-62.976zM387.072 317.44"-->
|
||||
<!-- fill="#2E77ED" p-id="3164"></path>-->
|
||||
<!-- <path d="M326.144 709.632c-14.848 0-26.624-12.288-26.624-27.136V455.68c0-14.848 12.288-27.136 27.136-27.136S353.28 440.832 353.28 455.68v226.816c-0.512 15.36-12.288 27.136-27.136 27.136z"-->
|
||||
<!-- fill="#FFBB12" p-id="3165"></path>-->
|
||||
<!-- <path d="M569.856 442.368c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 682.496c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136zM569.856 553.472c0-14.848 12.288-26.624 27.136-26.624H757.76c14.848 0 27.136 12.288 27.136 27.136s-12.288 26.624-27.136 26.624h-160.768c-15.36 0-27.136-12.288-27.136-27.136z"-->
|
||||
<!-- fill="#2E77ED" p-id="3166"></path>-->
|
||||
<!-- <path d="M228.352 509.44c-10.24-10.752-10.24-27.648 0-37.888l78.336-78.336c10.752-10.752 27.648-10.752 37.888 0s10.24 27.648 0 37.888L266.24 509.44c-10.24 10.752-27.136 10.752-37.888 0z"-->
|
||||
<!-- fill="#FFBB12" p-id="3167"></path>-->
|
||||
<!-- <path d="M306.688 393.216c10.752-10.24 27.648-10.24 37.888 0l78.336 78.336c10.752 10.752 10.752 27.648 0 37.888s-27.648 10.24-37.888 0L306.688 431.104c-10.24-10.752-10.24-27.648 0-37.888z"-->
|
||||
<!-- fill="#FFBB12" p-id="3168"></path>-->
|
||||
<!-- </svg>-->
|
||||
<!-- </template>-->
|
||||
<!-- 申请-->
|
||||
<!-- </van-button>-->
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请
|
||||
</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
|
||||
</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 1,
|
||||
visible: true,
|
||||
typeOption: [{ value: null, text: "全部" }],
|
||||
typeOption: [
|
||||
{value: null, text: '全部'}
|
||||
],
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: "",
|
||||
type: ""
|
||||
year: '',
|
||||
type: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
},
|
||||
methods: {
|
||||
openApply() {
|
||||
window.location.href = "/mobile/condolence/apply/for"
|
||||
window.location.href = '/mobile/condolence/apply/for'
|
||||
},
|
||||
openInfo(id) {
|
||||
window.location.href = "/mobile/condolence/apply/info?id=" + id
|
||||
window.location.href = '/mobile/condolence/apply/info?id=' + id
|
||||
},
|
||||
yearChange(val) {
|
||||
this.pageForm.year = val
|
||||
@@ -114,12 +124,13 @@ layout("/mobile/platform.html"){
|
||||
listenTouch() {
|
||||
this.$nextTick(() => {
|
||||
const app = document.querySelector("#app")
|
||||
app.addEventListener("touchstart", () => {
|
||||
app.addEventListener('touchstart', () => {
|
||||
this.visible = false
|
||||
})
|
||||
app.addEventListener("touchend", () => {
|
||||
app.addEventListener('touchend', () => {
|
||||
this.visible = true
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -129,11 +140,11 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||
this.yearOption.unshift({ value: i, text: i + "年" })
|
||||
this.yearOption.unshift({value: i, text: i + '年'},)
|
||||
}
|
||||
const { code, data } = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach((v) => {
|
||||
this.typeOption.push({ value: v.id, text: v.name + v.code })
|
||||
const {code, data} = await $.get("/platform/condolence/type/getAll")
|
||||
data.forEach(v => {
|
||||
this.typeOption.push({value: v.id, text: v.name + v.code})
|
||||
})
|
||||
this.$set(this.pageForm, "year", this.yearOption[0].value)
|
||||
this.$set(this.pageForm, "type", this.typeOption[0].value)
|
||||
|
||||
@@ -3,25 +3,38 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.go(-1)"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu :active-color="themeColor">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.type" @change="yearChange" :options="mCondolence.typeList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange" :options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange" :options="mCommon.unitList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
|
||||
:options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange"
|
||||
:options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.type" @change="yearChange"
|
||||
:options="mCondolence.typeList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
|
||||
:options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
|
||||
:options="mCommon.unitList"></van-dropdown-item>
|
||||
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list v-model="mLoading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<van-list v-model="mLoading" :finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="被慰问人">
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.be_username}}</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px;"
|
||||
:style="{color:themeColor}">
|
||||
{{o.be_username}}
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人">{{o.sqr_username}}</van-cell>
|
||||
<van-cell :border="false" title="所在单位">{{o.be_unitname}}</van-cell>
|
||||
@@ -36,13 +49,18 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -50,30 +68,30 @@ layout("/mobile/platform.html"){
|
||||
unionList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false
|
||||
}
|
||||
isAudit: false,
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(o) {
|
||||
window.location.href = "/mobile/condolence/audit/auditHtml?state_id=" + o.state_id + "&id=" + o.id
|
||||
window.location.href = '/mobile/condolence/audit/auditHtml?state_id=' + o.state_id + '&id=' + o.id
|
||||
},
|
||||
yearChange() {
|
||||
this.tableData = []
|
||||
this.refreshing = true
|
||||
this.finished = false
|
||||
this.refreshing = true;
|
||||
this.finished = false;
|
||||
this.pageForm.pageNumber = 0
|
||||
this.flushUnits()
|
||||
},
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
$.get(loc() + "/pageData", this.pageForm, (res) => {
|
||||
$.get(loc() + '/pageData', this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -84,10 +102,11 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
})
|
||||
this.mLoading = false
|
||||
|
||||
},
|
||||
async flushUnits() {
|
||||
//this.$set(this.pageForm, "unitId", "")
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === "true") {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||
await mCommon.getUnitList(this.pageForm.unionId)
|
||||
} else {
|
||||
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
@@ -96,7 +115,7 @@ layout("/mobile/platform.html"){
|
||||
async init() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({ text: i, value: i })
|
||||
this.yearList.push({text: i, value: i})
|
||||
}
|
||||
await mCondolence.getType()
|
||||
await mCommon.getUnionList()
|
||||
@@ -114,12 +133,12 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.init()
|
||||
this.flushUnits()
|
||||
if (GetQueryString("audit") === "1") {
|
||||
if (GetQueryString("audit") === '1') {
|
||||
this.pageForm.isAudit = true
|
||||
}
|
||||
}
|
||||
})
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.init()
|
||||
vue.yearChange()
|
||||
@@ -127,6 +146,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,369 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.title_color {
|
||||
color: #000000;
|
||||
}
|
||||
.content_color {
|
||||
color: grey;
|
||||
}
|
||||
.van-doc-card {
|
||||
margin: 8px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 19px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="日常慰问分工会审核" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.sqr_username + '(' + item.sqr_loginname + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24">
|
||||
<span class="title_color">慰问对象:</span>
|
||||
<span class="content_color">{{item.be_username}}</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">对象工号:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_loginname}}
|
||||
</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">所属工会:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_unionname}}
|
||||
</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">工作单位:</span>
|
||||
<span class="content_color">{{item.be_unitname}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">慰问类型:</span>
|
||||
<span class="content_color">{{item.type_name}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span class="title_color">当前状态:</span>
|
||||
<span class="content_color">{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="item.state_id === 2000"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<!--<van-button size="small" type="danger"
|
||||
v-if="[2014,2015,2020].includes(item.state_id)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="分工会审核"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100% - 44px);overflow-y: auto">
|
||||
<condolence-info ref="info"></condolence-info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '分工会审核' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="time" v-model="formData.time" required></van-field>
|
||||
<van-field label="审核意见" name="opinion" v-model="formData.opinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="sign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" v-model="formData.sign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">退回</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false
|
||||
},
|
||||
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
infoShow: false,
|
||||
showApprovalForm: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.time = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/fw/condolence/ucr/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见')
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
|
||||
if (this.formData.sign === undefined || this.$refs.signature.checkNull()) {
|
||||
this.$toast.fail('请签名')
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/fw/condolence/ucr/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/fw/condolence/ucr/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,34 +3,37 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="校工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会审核</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会审核
|
||||
</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
|
||||
<van-field readonly left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
rows="1"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入审核意见' }]"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
rows="1"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入审核意见' }]"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -42,76 +45,88 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {}
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail("请填写审核意见")
|
||||
this.$toast.fail('请填写审核意见');
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast("请签名!")
|
||||
vant.Toast('请签名!')
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/condolence/fr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
this.$toast.success('审核成功')
|
||||
setTimeout(() => {
|
||||
window.history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
this.$toast.fail('审核失败');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
const { data } = await $.get("/platform/fw/condolence/findOne", { id: this.id })
|
||||
const {data} = await $.get("/platform/fw/condolence/findOne", {id: this.id})
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
opinion: null,
|
||||
sign: ""
|
||||
sign: "",
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -3,53 +3,54 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="校工会主席审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt10">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会主席审核</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会主席审核
|
||||
</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
|
||||
<van-field readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.money"
|
||||
label="慰问金额"
|
||||
type="number"
|
||||
left-icon="balance-list-o"
|
||||
required
|
||||
:rules="[{ required:true, message: '请输入慰问金额' }]"
|
||||
<van-field v-model="formData.money" label="慰问金额" type="number"
|
||||
left-icon="balance-list-o"
|
||||
required :rules="[{ required:true, message: '请输入慰问金额' }]"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="auditType" label="审核类型" left-icon="clock-o" @click="typePicker = true" required readonly></van-field>
|
||||
<van-field v-model="auditType" label="审核类型" left-icon="clock-o"
|
||||
@click="typePicker = true" required readonly></van-field>
|
||||
|
||||
<van-popup v-model="typePicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['审核通过','审核通过(线下提交资料)', '审核拒绝']"
|
||||
@confirm="typeChange"
|
||||
@cancel="typePicker = false"
|
||||
show-toolbar
|
||||
:columns="['审核通过','审核通过(线下提交资料)', '审核拒绝']"
|
||||
@confirm="typeChange"
|
||||
@cancel="typePicker = false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
rows="1"
|
||||
required
|
||||
left-icon="chat-o"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field v-model="formData.opinion"
|
||||
rows="1"
|
||||
required
|
||||
left-icon="chat-o"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -61,91 +62,102 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button color="red" block plain @click="doAudit(2)">返回修改</van-button>
|
||||
<van-button color="red" block plain @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
typePicker: false,
|
||||
auditType: "审核通过",
|
||||
auditType: '审核通过',
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {}
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
},
|
||||
methods: {
|
||||
typeChange(value, index) {
|
||||
if (value === "审核通过") {
|
||||
this.formData.opinion = "情况属实,同意申请。"
|
||||
} else if (value === "审核通过(线下提交资料)") {
|
||||
this.$set(this.formData, "opinion", "请将纸质发票经办人、分工会主席签字后交至行政楼A426办公室。")
|
||||
if(value === '审核通过') {
|
||||
this.formData.opinion = '情况属实,同意申请。'
|
||||
} else if (value === '审核通过(线下提交资料)') {
|
||||
this.$set(this.formData, 'opinion', '请将纸质发票经办人、分工会主席签字后交至行政楼A426办公室。')
|
||||
} else {
|
||||
this.formData.opinion = ""
|
||||
this.formData.opinion = ''
|
||||
}
|
||||
this.typePicker = false
|
||||
},
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail("请填写审核意见")
|
||||
this.$toast.fail('请填写审核意见');
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
if (pass === 3 && this.$refs.signature.checkNull()) {
|
||||
vant.Toast("请签名!")
|
||||
vant.Toast('请签名!')
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
if (this.auditType === "审核通过(线下提交资料)") {
|
||||
if(this.auditType === '审核通过(线下提交资料)') {
|
||||
pass = 4
|
||||
}
|
||||
const resp = await $.post("/platform/fw/condolence/vcr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
this.$toast.success('审核成功');
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
this.$toast.fail('审核失败');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
const { data } = await $.get("/platform/fw/condolence/findOne", { id: this.id })
|
||||
const {data} = await $.get("/platform/fw/condolence/findOne", {id: this.id})
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
opinion: "情况属实,同意申请。",
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
opinion: '情况属实,同意申请。',
|
||||
sign: "",
|
||||
money: data.money
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,382 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.title_color {
|
||||
color: #000000;
|
||||
}
|
||||
.content_color {
|
||||
color: grey;
|
||||
}
|
||||
.van-doc-card {
|
||||
margin: 8px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 19px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="日常慰问校工会主席审核" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="doSearch();flushUnits(pageForm.unionId)" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.sqr_username + '(' + item.sqr_loginname + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24">
|
||||
<span class="title_color">慰问对象:</span>
|
||||
<span class="content_color">{{item.be_username}}</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">对象工号:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_loginname}}
|
||||
</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">所属工会:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_unionname}}
|
||||
</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">工作单位:</span>
|
||||
<span class="content_color">{{item.be_unitname}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">慰问类型:</span>
|
||||
<span class="content_color">{{item.type_name}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span class="title_color">当前状态:</span>
|
||||
<span class="content_color">{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="item.state_id === 2020"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<!--<van-button size="small" type="danger"
|
||||
v-if="[2014,2015,2020].includes(item.state_id)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="校工会主席"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100% - 44px);overflow-y: auto">
|
||||
<condolence-info ref="info"></condolence-info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '校工会主席' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="time" v-model="formData.time" required></van-field>
|
||||
<van-field label="审核意见" name="opinion" v-model="formData.opinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="sign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" v-model="formData.sign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">退回</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false
|
||||
},
|
||||
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
infoShow: false,
|
||||
showApprovalForm: false,
|
||||
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.time = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/fw/condolence/vcr/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见')
|
||||
return
|
||||
}
|
||||
if (this.formData.sign === undefined || !this.formData.sign) {
|
||||
this.$toast.fail('请签名')
|
||||
return
|
||||
}
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/fw/condolence/vcr/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/fw/condolence/vcr/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initUnion(unionId) {
|
||||
this.unionList = await getUnions(unionId)
|
||||
this.unionList.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.initUnion()
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.initUnion("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,421 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.title_color {
|
||||
color: #000000;
|
||||
}
|
||||
.content_color {
|
||||
color: grey;
|
||||
}
|
||||
.van-doc-card {
|
||||
margin: 8px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 19px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="日常慰问校工会审核" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="doSearch();flushUnits(pageForm.unionId)" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.sqr_username + '(' + item.sqr_loginname + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24">
|
||||
<span class="title_color">慰问对象:</span>
|
||||
<span class="content_color">{{item.be_username}}</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">对象工号:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_loginname}}
|
||||
</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">所属工会:</span>
|
||||
<span class="content_color">
|
||||
{{item.be_unionname}}
|
||||
</span>
|
||||
</van-col>
|
||||
<van-col span="24"><span class="title_color">工作单位:</span>
|
||||
<span class="content_color">{{item.be_unitname}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span class="title_color">慰问类型:</span>
|
||||
<span class="content_color">{{item.type_name}}</span>
|
||||
</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span class="title_color">当前状态:</span>
|
||||
<span class="content_color">{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="[2012, 2031].includes(item.state_id)"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<!--<van-button size="small" type="danger"
|
||||
v-if="[2014,2015,2020].includes(item.state_id)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="校工会审核"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100% - 44px);overflow-y: auto">
|
||||
<condolence-info ref="info"></condolence-info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '校工会审核' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="time" v-model="formData.time" required></van-field>
|
||||
<van-field label="审核类型" readonly name="auditType"
|
||||
@click="showTypePicker = true"
|
||||
placeholder="请选择审核类型"
|
||||
v-model="formData.auditTypeName" required></van-field>
|
||||
<van-popup v-model:show="showTypePicker" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm"
|
||||
@cancel="showTypePicker = false">
|
||||
</van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field label="慰问金额" type="number" name="money" v-model="formData.money" placeholder="请输入慰问金额" required></van-field>
|
||||
<van-field label="审核意见" name="opinion" v-model="formData.opinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="sign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" v-model="formData.sign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">退回</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false
|
||||
},
|
||||
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
infoShow: false,
|
||||
showApprovalForm: false,
|
||||
|
||||
showTypePicker: false,
|
||||
typeColumns: [
|
||||
{value: '1', text: '审核通过'},
|
||||
{value: '2', text: '审核通过(线下提交资料)'},
|
||||
{value: '3', text: '审核拒绝'},
|
||||
{value: '4', text: '退回重填'},
|
||||
]
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
methods: {
|
||||
onTypeConfirm(val) {
|
||||
if (val.value === '1') {
|
||||
this.$set(this.formData, 'opinion', '情况属实,同意申请。')
|
||||
} else if (val.value === '2') {
|
||||
this.$set(this.formData, 'opinion', '请将分工会主席和经办人签字后的发票、公务卡支付记录(未使用公务卡,请提交支付记录和公务卡结算审批表)一起交至行政楼A426办公室。')
|
||||
} else {
|
||||
this.$set(this.formData, 'opinion', '')
|
||||
this.$set(this.formData, 'money', 0)
|
||||
}
|
||||
this.$set(this.formData, 'auditType', val.value)
|
||||
this.$set(this.formData, 'auditTypeName', val.text)
|
||||
this.showTypePicker = false
|
||||
},
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.time = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.info.getInfo(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/fw/condolence/fr/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail('请填写审核意见')
|
||||
return
|
||||
}
|
||||
if (this.formData.sign === undefined || !this.formData.sign) {
|
||||
this.$toast.fail('请签名')
|
||||
return
|
||||
}
|
||||
if (!this.formData.money) {
|
||||
this.$toast.fail('请填写慰问金额')
|
||||
return
|
||||
}
|
||||
if (!this.formData.auditType) {
|
||||
this.$toast.fail('请选择审核类型')
|
||||
return
|
||||
}
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/fw/condolence/fr/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/fw/condolence/fr/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initUnion(unionId) {
|
||||
this.unionList = await getUnions(unionId)
|
||||
this.unionList.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.initUnion()
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.initUnion("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,33 +3,37 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
|
||||
<condolence-info ref="info" :id.sync="id" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title mt10">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">分工会审核</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核
|
||||
</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
readonly
|
||||
left-icon="contact"
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o" readonly></van-field>
|
||||
<van-field v-model="formData.time" label="审核时间" left-icon="clock-o"
|
||||
readonly></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field v-model="formData.opinion"
|
||||
left-icon="chat-o"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -41,75 +45,86 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button color="red" block @click="doAudit(2)">返回修改</van-button>
|
||||
<van-button color="red" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</condolence-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {}
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"condolence-info": httpVueLoader("/components/condolence/mobile/common.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'condolence-info': httpVueLoader('/components/condolence/mobile/common.vue?v=' + new Date().getTime()),
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail("请填写审核意见")
|
||||
this.$toast.fail('请填写审核意见');
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast("请签名!")
|
||||
return
|
||||
}
|
||||
if (this.$refs.signature.checkNull()) {
|
||||
vant.Toast('请签名!')
|
||||
return
|
||||
}
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/condolence/ucr/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
this.$toast.success('审核成功');
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
this.$toast.fail('审核失败');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
time: moment().format("YYYY-MM-DD"),
|
||||
time: moment().format('YYYY-MM-DD'),
|
||||
opinion: null,
|
||||
sign: ""
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -2,296 +2,364 @@
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.family-list-field .van-field__value .van-field__control {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.family-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.family-list-cell .van-cell__label {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.family-dialog .van-dialog__content {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难补助申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px">
|
||||
<van-cell-group inset class="mt10">
|
||||
|
||||
<van-form @submit="onSubmit" :show-error-message="false">
|
||||
<van-cell inset>
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')} ( ${@shiro.getPrincipalProperty('loginname')} )"
|
||||
name="sqrname"
|
||||
label="申请人"
|
||||
v-model="formData.userName"
|
||||
label="申请人姓名"
|
||||
readonly
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写申请人姓名' }]"
|
||||
></van-field>
|
||||
|
||||
<van-field name="apply_mode" label="申请模式">
|
||||
<template #input>
|
||||
<van-radio-group v-model="formData.apply_mode" direction="horizontal" @change="applyModeChange">
|
||||
<van-radio :name="1">本人申请</van-radio>
|
||||
<van-radio :name="2">替他人申请</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field
|
||||
@input="userRemoteMethod"
|
||||
name="bbzrusername"
|
||||
v-model="formData.bbzrusername"
|
||||
label="受补助人"
|
||||
placeholder="请输入受补助人姓名"
|
||||
:rules="[{ required: true, message: '请填写受补助人姓名' }]"
|
||||
v-model="formData.loginName"
|
||||
label="申请人工号"
|
||||
readonly
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写申请人工号' }]"
|
||||
></van-field>
|
||||
|
||||
<van-action-sheet
|
||||
v-model="sheetShow"
|
||||
:actions="userList"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
@cancel="userList = []"
|
||||
:close-on-click-overlay="false"
|
||||
@select="onUserSelect"
|
||||
></van-action-sheet>
|
||||
<van-field label="身份证号" v-model="formData.idcard"></van-field>
|
||||
|
||||
<van-field label="性别" v-model="formData.sex"></van-field>
|
||||
|
||||
<van-field label="职称" v-model="formData.zc"></van-field>
|
||||
<van-field label="职务" v-model="formData.zw"></van-field>
|
||||
|
||||
<van-field label="单位" v-model="formData.unitname"></van-field>
|
||||
|
||||
<van-field label="出生日期" v-model="formData.birthday"></van-field>
|
||||
|
||||
<van-field label="手机号码" v-model="formData.lxfs" type="tel"></van-field>
|
||||
|
||||
<van-field
|
||||
name="sq_bzlx_name"
|
||||
@click="sq_bzlxShow = true"
|
||||
:value="formData.sq_bzlx_name"
|
||||
label="补助类型"
|
||||
placeholder="请选择补助类型"
|
||||
v-model="formData.sex"
|
||||
label="性别"
|
||||
required
|
||||
is-link
|
||||
readonly
|
||||
:rules="[{ required: true, message: '性别' }]"
|
||||
clickable
|
||||
@click="showSexPicker = true"
|
||||
></van-field>
|
||||
<van-popup v-model:show="sq_bzlxShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="sq_bzlxList" @confirm="onSq_bzlxConfirm" @cancel="sq_bzlxShow = false"></van-picker>
|
||||
<van-popup v-model="showSexPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="['男', '女']"
|
||||
@confirm="onSexConfirm"
|
||||
@cancel="showSexPicker=false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<van-field
|
||||
name="sq_knlx_name"
|
||||
@click="sq_knlxShow = true"
|
||||
:value="formData.sq_knlx_name"
|
||||
label="困难类型"
|
||||
placeholder="请选择困难类型"
|
||||
v-model="formData.unitName"
|
||||
label="所在单位"
|
||||
placeholder="所在单位"
|
||||
readonly
|
||||
:rules="[{ required: true, message: '所在单位' }]"
|
||||
clearable
|
||||
required
|
||||
></van-field>
|
||||
<van-popup v-model:show="sq_knlxShow" position="bottom" round>
|
||||
<van-picker show-toolbar :columns="sq_knlxist" @confirm="onSq_knlxConfirm" @cancel="sq_knlxShow = false"></van-picker>
|
||||
</van-popup>
|
||||
|
||||
<template v-if="formData.sq_knlx==1">
|
||||
<van-field label="所在医院" placeholder="请填写所在所在医院" v-model="formData.hospital"></van-field>
|
||||
<van-field
|
||||
label="住院时间"
|
||||
:value="formData.hospitalized_time_name"
|
||||
placeholder="请填写住院时间"
|
||||
@click="hospitalized_timeShow = true"
|
||||
></van-field>
|
||||
<van-calendar
|
||||
v-model="hospitalized_timeShow"
|
||||
:min-date="new Date('1999-01-01')"
|
||||
:show-confirm="false"
|
||||
type="range"
|
||||
@confirm="onHospitalized_timeConfirm"
|
||||
></van-calendar>
|
||||
</template>
|
||||
|
||||
<van-field
|
||||
v-model="formData.apply_reason"
|
||||
name="remark"
|
||||
label="申请理由"
|
||||
style="flex-flow: column"
|
||||
placeholder="请填写申请理由"
|
||||
input-align="left"
|
||||
rows="3"
|
||||
maxlength="200"
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
autosize
|
||||
>
|
||||
<template #label>
|
||||
<div class="mb10">申请事由</div>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
v-model="formData.unionName"
|
||||
label="所在分工会"
|
||||
placeholder="所在分工会"
|
||||
readonly
|
||||
:rules="[{ required: true, message: '所在分工会' }]"
|
||||
clearable
|
||||
required
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.monthlyIncome"
|
||||
label="本人月收入"
|
||||
type="number"
|
||||
placeholder="请填写本人月收入"
|
||||
:rules="[{ required: true, message: '请填写本人月收入' }]"
|
||||
required
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.birthday"
|
||||
label="出生年月"
|
||||
is-link
|
||||
@click="showDatePicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写出生年月' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="showDatePicker" position="bottom">
|
||||
<van-datetime-picker
|
||||
type="date"
|
||||
:min-date="new Date(1900, 0, 1)"
|
||||
:max-date="new Date()"
|
||||
@confirm="onDateConfirm"
|
||||
@cancel="showDatePicker=false"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
v-model="formData.mobile"
|
||||
label="手机号码"
|
||||
placeholder="请填写手机号码"
|
||||
maxlength="20"
|
||||
clearable
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写手机号码' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.homeAddress"
|
||||
label="家庭地址"
|
||||
placeholder="请填写家庭地址"
|
||||
maxlength="200"
|
||||
clearable
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写家庭地址' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.subsidyStandards"
|
||||
label="款项"
|
||||
placeholder="请选择款项"
|
||||
is-link
|
||||
@click="showSubsidyPicker = true"
|
||||
required
|
||||
:rules="[{ required: true, message: '请选择款项' }]"
|
||||
></van-field>
|
||||
<van-popup v-model="showSubsidyPicker" position="bottom">
|
||||
<van-picker
|
||||
show-toolbar
|
||||
:columns="subsidyStandards"
|
||||
@confirm="onSubsidyConfirm"
|
||||
@cancel="showSubsidyPicker=false"
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
v-model="formData.reason"
|
||||
label="申请原因"
|
||||
type="textarea"
|
||||
placeholder="请简述申请原因"
|
||||
maxlength="500"
|
||||
required
|
||||
:rules="[{ required: true, message: '请简述申请原因' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.remarks"
|
||||
label="备注"
|
||||
type="textarea"
|
||||
placeholder="请简述备注"
|
||||
maxlength="500"
|
||||
></van-field>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field name="files" label="附  件" required style="flex-flow: column" input-align="left">
|
||||
<template #label>
|
||||
<div class="mb10">附  件</div>
|
||||
</template>
|
||||
<van-field name="familyList" label="家庭成员经济收入" @click="showDialog = true" required is-link
|
||||
label-width="60%"
|
||||
clickable
|
||||
class="family-list-field">
|
||||
</van-field>
|
||||
<van-list class="family-list-cell">
|
||||
<van-cell
|
||||
v-for="(member, index) in formData.familyList"
|
||||
:key="index"
|
||||
:title="member.name"
|
||||
:label="'年龄: ' + member.age + ' 岁, 关系: ' + member.relation + ', 月收入: ' + member.monthlyIncome + ' 元'"
|
||||
is-link
|
||||
@click="editMember(index)"
|
||||
>
|
||||
<template #right-icon>
|
||||
<van-icon name="delete" color="red" @click.stop="removeMember(index)"></van-icon>
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
|
||||
<van-field name="files" label="附件" style="flex-flow: column" input-align="left">
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="formData.files"></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group inset class="mt10">
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">签  字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" :my_sign.sync="formData.sqsign"></mobile-sign>
|
||||
<mobile-sign ref="signature" :my_sign.sync="formData.sign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
|
||||
<div style="margin: 20px 20px 10px 20px">
|
||||
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">提 交</van-button>
|
||||
</div>
|
||||
<!-- 家庭成员经济收入表格和附件上传等功能需要自定义实现 -->
|
||||
<van-button round block type="info" native-type="submit">提交</van-button>
|
||||
</van-cell>
|
||||
</van-form>
|
||||
|
||||
<div>
|
||||
<van-tabbar v-model="tarBarActive" style="z-index: 99">
|
||||
<van-tabbar-item icon="home-o" replace url="/mobile/difficulty/apply/index">困难补助申请</van-tabbar-item>
|
||||
<van-tabbar-item icon="manager-o" replace url="/mobile/difficulty/apply/apply_list">困难补助记录</van-tabbar-item>
|
||||
</van-tabbar>
|
||||
</div>
|
||||
<van-dialog v-model="showDialog" class="family-dialog" title="添加家庭成员" show-cancel-button
|
||||
:before-close="handleBeforeClose">
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
v-model="newMember.name"
|
||||
label="姓名"
|
||||
placeholder="请输入姓名"
|
||||
required
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="newMember.age"
|
||||
label="年龄(岁)"
|
||||
type="number"
|
||||
placeholder="请输入年龄"
|
||||
required
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="newMember.relation"
|
||||
label="关系"
|
||||
placeholder="请输入关系"
|
||||
required
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="newMember.monthlyIncome"
|
||||
label="月收入(元)"
|
||||
type="number"
|
||||
placeholder="请输入月收入"
|
||||
required
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
</van-dialog>
|
||||
|
||||
</div>
|
||||
<script src="/assets/platform/module/difficulty/common.js?v=1.0.0"></script>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
tarBarActive: 0,
|
||||
id: GetQueryString("id"),
|
||||
hospitalized_timeShow: false,
|
||||
sq_bzlxShow: false,
|
||||
sq_bzlxList: [],
|
||||
minDate: {},
|
||||
sq_knlxShow: false,
|
||||
sq_knlxist: [],
|
||||
userList: [],
|
||||
formData: {
|
||||
apply_mode: 1
|
||||
formData: {},
|
||||
showSexPicker: false,
|
||||
showDatePicker: false,
|
||||
showSubsidyPicker: false,
|
||||
subsidyStandards: [
|
||||
'本人患重症处于康复期、新患重症以外的疾病且自理医疗费在5万元以上、直系亲属患重症:1000-1500元。',
|
||||
'突发事件造成家庭损失较重致生活困难:2000-2500元。',
|
||||
'本人新患重症、长病假人员生活困难、家庭人均收入接近无锡市最低生活保障线:3000元。',
|
||||
'其他'
|
||||
],
|
||||
newMember: {
|
||||
name: '',
|
||||
age: '',
|
||||
relation: '',
|
||||
monthlyIncome: ''
|
||||
},
|
||||
sheetShow: false,
|
||||
files: []
|
||||
showDialog: false,
|
||||
isEditing: false,
|
||||
editingIndex: null
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
},
|
||||
methods: {
|
||||
onHospitalized_timeConfirm(val) {
|
||||
this.$set(this.formData, "hospitalized_time_name", moment(val[0]).format("YYYY-MM-DD") + "至" + moment(val[1]).format("YYYY-MM-DD"))
|
||||
this.$set(this.formData, "hospitalized_time", moment(val[0]).format("YYYY-MM-DD") + "至" + moment(val[1]).format("YYYY-MM-DD"))
|
||||
this.hospitalized_timeShow = false
|
||||
},
|
||||
onSq_bzlxConfirm(val) {
|
||||
this.$set(this.formData, "sq_bzlx_name", val.text)
|
||||
this.$set(this.formData, "sq_bzlx", val.value)
|
||||
for (let i in difficulty.getHard(val.value)) {
|
||||
this.sq_knlxist.push({ value: i, text: difficulty.getHard(val.value)[i] })
|
||||
onSubmit(values) {
|
||||
console.log(this.formData)
|
||||
if(this.formData.familyList.length === 0){
|
||||
this.$toast("请添加家庭成员信息")
|
||||
return
|
||||
}
|
||||
this.$set(this.formData, "sq_knlx_name", null)
|
||||
this.$set(this.formData, "sq_knlx", null)
|
||||
this.sq_bzlxShow = false
|
||||
},
|
||||
onSq_knlxConfirm(val) {
|
||||
this.$set(this.formData, "sq_knlx_name", val.text)
|
||||
this.$set(this.formData, "sq_knlx", val.value)
|
||||
this.sq_knlxShow = false
|
||||
},
|
||||
applyModeChange(val) {
|
||||
if (val === 1) {
|
||||
this.$set(this.formData, "difficultyUser", "${@shiro.getPrincipalProperty('id')}")
|
||||
this.$set(this.formData, "bbzrusername", "${@shiro.getPrincipalProperty('username')}")
|
||||
this.$set(this.formData, "sex", "${@shiro.getPrincipalProperty('sex')}")
|
||||
this.$set(this.formData, "zc", "${@shiro.getPrincipalProperty('jobTitle')}")
|
||||
this.$set(this.formData, "zw", "${@shiro.getPrincipalProperty('position')}")
|
||||
this.$set(this.formData, "unitname", "${@shiro.getPrincipalProperty('unit').getName()}")
|
||||
this.$set(this.formData, "birthday", "${@shiro.getPrincipalProperty('birthday')}")
|
||||
this.$set(this.formData, "lxfs", "${@shiro.getPrincipalProperty('mobile')}")
|
||||
this.$set(this.formData, "idcard", "${@shiro.getPrincipalProperty('idcard')}")
|
||||
} else if (val === 2) {
|
||||
this.formData = {}
|
||||
this.$set(this.formData, "apply_mode", 2)
|
||||
this.$set(this.formData, "bbzrusername", undefined)
|
||||
}
|
||||
},
|
||||
async userRemoteMethod(query) {
|
||||
if (query) {
|
||||
const { data } = await $.get("/platform/fw/condolence/apply/queryUser", { query })
|
||||
data.forEach((v) => {
|
||||
v.name = v.username
|
||||
v.subname = v.loginname
|
||||
return v
|
||||
})
|
||||
this.userList = data
|
||||
this.sheetShow = true
|
||||
}
|
||||
},
|
||||
onUserSelect(val) {
|
||||
this.$set(this.formData, "difficultyUser", val.id)
|
||||
this.$set(this.formData, "bbzrusername", val.name)
|
||||
this.$set(this.formData, "lxfs", val.mobile)
|
||||
this.$set(this.formData, "sex", val.sex)
|
||||
this.$set(this.formData, "unitname", val.unitname)
|
||||
this.$set(this.formData, "zc", val.jobTitle)
|
||||
this.$set(this.formData, "zw", val.position)
|
||||
this.$set(this.formData, "birthday", val.birthday)
|
||||
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
||||
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
||||
this.sheetShow = false
|
||||
},
|
||||
|
||||
async onSubmit() {
|
||||
this.$refs.signature.submitSign()
|
||||
/* if (!this.formData.sqsign) {
|
||||
vant.Toast('请签名!')
|
||||
return
|
||||
}*/
|
||||
const formData = clone(this.formData)
|
||||
formData.files = JSON.stringify(formData.files)
|
||||
formData.applicantsign = formData.sqsign
|
||||
formData.bbzrusername = formData.difficultyUser
|
||||
formData.flag = true
|
||||
this.$refs["addForm"].validate().then(async () => {
|
||||
this.$toast.loading("提交中...")
|
||||
const res = await $.post("/platform/fw/difficulty/apply/doAdd", formData)
|
||||
$.post('/platform/difficulty/apply/doAdd', {
|
||||
data: JSON.stringify(this.formData)
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast.success("申请成功")
|
||||
setTimeout(() => {
|
||||
location.replace("/mobile/difficulty/apply/apply_list")
|
||||
}, 1000)
|
||||
this.$toast.success(res.msg)
|
||||
sublime.jumpPagePjax('/platform/difficulty/applylist')
|
||||
} else {
|
||||
this.$toast.fail("申请失败")
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
async getApplyInfo(id) {
|
||||
const { data, code, msg } = await $.get("/platform/fw/difficulty/applylist/findOne", { id })
|
||||
if (data) {
|
||||
data.apply_mode = parseInt(data.apply_mode)
|
||||
this.formData = data
|
||||
if (this.formData.files && this.formData.files.length > 0) {
|
||||
this.formData.files = JSON.parse(data.files)
|
||||
onSexConfirm(value) {
|
||||
this.formData.sex = value;
|
||||
this.showSexPicker = false;
|
||||
},
|
||||
onDateConfirm(value) {
|
||||
this.formData.birthday = value;
|
||||
this.showDatePicker = false;
|
||||
},
|
||||
onSubsidyConfirm(value) {
|
||||
this.formData.subsidyStandards = value;
|
||||
this.showSubsidyPicker = false;
|
||||
},
|
||||
|
||||
handleBeforeClose(action, done) {
|
||||
if (action === 'confirm') {
|
||||
if (!this.newMember.name || !this.newMember.age || !this.newMember.relation || !this.newMember.monthlyIncome) {
|
||||
this.$toast('请填写完整信息');
|
||||
done(false);
|
||||
} else {
|
||||
done()
|
||||
if (this.isEditing) {
|
||||
this.updateMember();
|
||||
} else {
|
||||
this.addMember();
|
||||
}
|
||||
done();
|
||||
}
|
||||
} else {
|
||||
done()
|
||||
}
|
||||
},
|
||||
|
||||
addMember() {
|
||||
this.formData.familyList.push({...this.newMember});
|
||||
this.resetNewMember();
|
||||
},
|
||||
|
||||
editMember(index) {
|
||||
this.newMember = {...this.formData.familyList[index]};
|
||||
this.editingIndex = index;
|
||||
this.isEditing = true;
|
||||
this.showDialog = true;
|
||||
},
|
||||
updateMember() {
|
||||
this.formData.familyList.splice(this.editingIndex, 1, { ...this.newMember });
|
||||
this.resetNewMember();
|
||||
},
|
||||
removeMember(index) {
|
||||
this.formData.familyList.splice(index, 1);
|
||||
},
|
||||
resetNewMember() {
|
||||
this.newMember = {name: '', age: '', relation: '', monthlyIncome: ''};
|
||||
this.isEditing = false;
|
||||
this.editingIndex = null;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.signature) {
|
||||
this.$refs.signature.getMySign()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
async created() {
|
||||
this.applyModeChange(1)
|
||||
for (let i in difficulty.subsidy) {
|
||||
this.sq_bzlxList.push({ value: i, text: difficulty.subsidy[i] })
|
||||
}
|
||||
|
||||
this.$set(this.formData, "sq_bzlx_name", this.sq_bzlxList[0].text)
|
||||
this.$set(this.formData, "sq_bzlx", this.sq_bzlxList[0].value)
|
||||
for (let i in difficulty.getHard(this.formData.sq_bzlx)) {
|
||||
this.sq_knlxist.push({ value: i, text: difficulty.getHard(this.formData.sq_bzlx)[i] })
|
||||
}
|
||||
this.formData.apply_time = moment().format("YYYY-MM-DD")
|
||||
|
||||
if (this.id) {
|
||||
this.getApplyInfo(this.id)
|
||||
$.get('/platform/difficulty/apply/findOne', {id: this.id}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.formData = res.data
|
||||
}
|
||||
})
|
||||
} else {
|
||||
const user = JSON.parse(window.sessionStorage.getItem('user'))
|
||||
this.$set(this.formData, 'userId', user.id)
|
||||
this.$set(this.formData, 'userName', user.username)
|
||||
this.$set(this.formData, 'loginName', user.loginname)
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'unitId', user.unit.id)
|
||||
this.$set(this.formData, 'unitName', user.unit.name)
|
||||
this.$set(this.formData, 'unionId', user.union.id)
|
||||
this.$set(this.formData, 'unionName', user.union.unionname)
|
||||
this.$set(this.formData, 'monthlyIncome', null)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
this.$set(this.formData, 'homeAddress', user.homeAddress)
|
||||
this.$set(this.formData, 'subsidyStandards', null)
|
||||
this.$set(this.formData, 'reason', null)
|
||||
this.$set(this.formData, 'remarks', null)
|
||||
this.$set(this.formData, 'familyList', [])
|
||||
this.$set(this.formData, 'files', [])
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,494 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.family-list-field .van-field__value .van-field__control {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.family-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.family-list-cell .van-cell__label {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.family-dialog .van-dialog__content {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar @click-left="pjaxReplace('/mobile/index')" fixed left-arrow placeholder
|
||||
title="困难补助申请"></van-nav-bar>
|
||||
|
||||
<van-form :show-error-message="false" @submit="onSubmit">
|
||||
<van-cell inset>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写申请人姓名' }]"
|
||||
label="申请人姓名"
|
||||
readonly
|
||||
required1
|
||||
v-model="formData.proxyUserName"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写申请人工号' }]"
|
||||
label="申请人工号"
|
||||
readonly
|
||||
required
|
||||
v-model="formData.proxyLoginName"
|
||||
></van-field>
|
||||
|
||||
<van-field
|
||||
label="申请模式"
|
||||
readonly
|
||||
required
|
||||
>
|
||||
<template #input>
|
||||
<van-radio-group :disabled="formData.id" @change="modeChange"
|
||||
direction="horizontal" v-model="formData.mode">
|
||||
<van-radio name="1">本人申请</van-radio>
|
||||
<van-radio name="2">替他人申请</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<!-- <van-field
|
||||
v-model="formData.userName"
|
||||
label="姓名"
|
||||
readonly
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写申请人姓名' }]"
|
||||
></van-field>
|
||||
<van-field
|
||||
v-model="formData.loginName"
|
||||
label="工号"
|
||||
readonly
|
||||
required
|
||||
:rules="[{ required: true, message: '请填写申请人工号' }]"
|
||||
></van-field>-->
|
||||
<van-field :readonly="formData.id"
|
||||
:rules="[{ required: true, message: '请填写受补助人姓名' }]"
|
||||
label="受补助人" name="userName"
|
||||
placeholder="请输入受补助人姓名" required v-if="formData.mode==='2'"
|
||||
v-model="formData.userName">
|
||||
<template #button>
|
||||
<van-button :color="themeColor" :disabled="formData.id"
|
||||
@click="userNameInput(formData.userName)" size="small"
|
||||
type="primary"
|
||||
v-if="formData.mode==='2'">查询
|
||||
</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-action-sheet :actions="subsidizedList"
|
||||
:close-on-click-overlay="false"
|
||||
@cancel="subsidizedList = []"
|
||||
@select="onUserSelect"
|
||||
cancel-text="重新输入姓名或工号查询"
|
||||
v-model="userNameSheetShow">
|
||||
</van-action-sheet>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '性别' }]"
|
||||
@click="showSexPicker = true"
|
||||
clickable
|
||||
is-link
|
||||
label="性别"
|
||||
placeholder="性别"
|
||||
readonly
|
||||
required
|
||||
v-model="formData.sex"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="showSexPicker">
|
||||
<van-picker
|
||||
:columns="['男', '女']"
|
||||
@cancel="showSexPicker=false"
|
||||
@confirm="onSexConfirm"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '所在单位' }]"
|
||||
clearable
|
||||
label="所在单位"
|
||||
placeholder="所在单位"
|
||||
readonly
|
||||
required
|
||||
v-model="formData.unitName"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '所在分工会' }]"
|
||||
clearable
|
||||
label="所在分工会"
|
||||
placeholder="所在分工会"
|
||||
readonly
|
||||
required
|
||||
v-model="formData.unionName"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写本人月收入' }]"
|
||||
label="本人月收入"
|
||||
placeholder="请填写本人月收入"
|
||||
required
|
||||
type="number"
|
||||
v-model="formData.monthlyIncome"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写出生年月' }]"
|
||||
@click="showDatePicker = true"
|
||||
is-link
|
||||
label="出生年月"
|
||||
placeholder="出生年月"
|
||||
required
|
||||
v-model="formData.birthday"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="showDatePicker">
|
||||
<van-datetime-picker
|
||||
:max-date="new Date()"
|
||||
:min-date="new Date(1900, 0, 1)"
|
||||
@cancel="showDatePicker=false"
|
||||
@confirm="onDateConfirm"
|
||||
type="date"
|
||||
></van-datetime-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写手机号码' }]"
|
||||
clearable
|
||||
label="手机号码"
|
||||
maxlength="20"
|
||||
placeholder="请填写手机号码"
|
||||
required
|
||||
v-model="formData.mobile"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请填写家庭地址' }]"
|
||||
clearable
|
||||
label="家庭地址"
|
||||
maxlength="200"
|
||||
placeholder="请填写家庭地址"
|
||||
required
|
||||
v-model="formData.homeAddress"
|
||||
></van-field>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请选择款项' }]"
|
||||
@click="showSubsidyPicker = true"
|
||||
is-link
|
||||
label="款项"
|
||||
placeholder="请选择款项"
|
||||
required
|
||||
v-model="formData.subsidyStandards"
|
||||
></van-field>
|
||||
<van-popup position="bottom" v-model="showSubsidyPicker">
|
||||
<van-picker
|
||||
:columns="subsidyStandards"
|
||||
@cancel="showSubsidyPicker=false"
|
||||
@confirm="onSubsidyConfirm"
|
||||
show-toolbar
|
||||
></van-picker>
|
||||
</van-popup>
|
||||
<van-field
|
||||
:rules="[{ required: true, message: '请简述申请原因' }]"
|
||||
label="申请原因"
|
||||
maxlength="500"
|
||||
placeholder="请简述申请原因"
|
||||
required
|
||||
type="textarea"
|
||||
v-model="formData.reason"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="备注"
|
||||
maxlength="500"
|
||||
placeholder="请简述备注"
|
||||
type="textarea"
|
||||
v-model="formData.remarks"
|
||||
></van-field>
|
||||
|
||||
<van-field @click="showDialog = true" class="family-list-field" clickable is-link
|
||||
label="家庭成员经济收入"
|
||||
label-width="60%"
|
||||
name="familyList"
|
||||
required>
|
||||
</van-field>
|
||||
<van-list class="family-list-cell">
|
||||
<van-cell
|
||||
:key="index"
|
||||
:label="'年龄: ' + member.age + ' 岁, 关系: ' + member.relation + ', 月收入: ' + member.monthlyIncome + ' 元'"
|
||||
:title="member.name"
|
||||
@click="editMember(index)"
|
||||
is-link
|
||||
v-for="(member, index) in formData.familyList"
|
||||
>
|
||||
<template #right-icon>
|
||||
<van-icon @click.stop="removeMember(index)" color="red"
|
||||
name="delete"></van-icon>
|
||||
</template>
|
||||
</van-cell>
|
||||
</van-list>
|
||||
|
||||
<van-field input-align="left" label="附件" name="files" style="flex-flow: column">
|
||||
<template #input>
|
||||
<vant-file-upload :files.sync="formData.files"></vant-file-upload>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
<template #input>
|
||||
<mobile-sign :is_value_base64="false" ref="signature"
|
||||
v-model="formData.signature"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<!-- 家庭成员经济收入表格和附件上传等功能需要自定义实现 -->
|
||||
<van-button block native-type="submit" round type="info">提交</van-button>
|
||||
</van-cell>
|
||||
</van-form>
|
||||
|
||||
<van-dialog :before-close="handleBeforeClose" class="family-dialog" show-cancel-button
|
||||
title="添加家庭成员"
|
||||
v-model="showDialog">
|
||||
<van-cell-group>
|
||||
<van-field
|
||||
label="姓名"
|
||||
placeholder="请输入姓名"
|
||||
required
|
||||
v-model="newMember.name"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="年龄(岁)"
|
||||
placeholder="请输入年龄"
|
||||
required
|
||||
type="number"
|
||||
v-model="newMember.age"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="关系"
|
||||
placeholder="请输入关系"
|
||||
required
|
||||
v-model="newMember.relation"
|
||||
></van-field>
|
||||
<van-field
|
||||
label="月收入(元)"
|
||||
placeholder="请输入月收入"
|
||||
required
|
||||
type="number"
|
||||
v-model="newMember.monthlyIncome"
|
||||
></van-field>
|
||||
</van-cell-group>
|
||||
</van-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
id: GetQueryString("id"),
|
||||
formData: {},
|
||||
showSexPicker: false,
|
||||
showDatePicker: false,
|
||||
showSubsidyPicker: false,
|
||||
subsidyStandards: [
|
||||
'本人患重症处于康复期、新患重症以外的疾病且自理医疗费在5万元以上、直系亲属患重症:1000-1500元。',
|
||||
'突发事件造成家庭损失较重致生活困难:2000-2500元。',
|
||||
'本人新患重症、长病假人员生活困难、家庭人均收入接近无锡市最低生活保障线:3000元。'
|
||||
],
|
||||
newMember: {
|
||||
name: '',
|
||||
age: '',
|
||||
relation: '',
|
||||
monthlyIncome: ''
|
||||
},
|
||||
showDialog: false,
|
||||
isEditing: false,
|
||||
editingIndex: null,
|
||||
|
||||
subsidizedList: [],
|
||||
userNameSheetShow: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
},
|
||||
methods: {
|
||||
userNameInput(val) {
|
||||
$.post('/platform/difficulty/apply/querySqr', {key: val}).then(res => {
|
||||
res.data.forEach(v => {
|
||||
v.name = v.username
|
||||
v.subname = v.loginname
|
||||
return v
|
||||
})
|
||||
this.subsidizedList = res.data;
|
||||
this.userNameSheetShow = true
|
||||
});
|
||||
},
|
||||
onUserSelect(val) {
|
||||
const user = this.subsidizedList.find(item => item.id === val.id)
|
||||
if (user) {
|
||||
this.$set(this.formData, 'userId', user.id)
|
||||
this.$set(this.formData, 'userName', user.username)
|
||||
this.$set(this.formData, 'loginName', user.loginname)
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'unitId', user.unitid)
|
||||
this.$set(this.formData, 'unitName', user.unitname)
|
||||
this.$set(this.formData, 'unionId', user.unionid)
|
||||
this.$set(this.formData, 'unionName', user.unionname)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
} else {
|
||||
this.$set(this.formData, 'userId', null)
|
||||
this.$set(this.formData, 'userName', null)
|
||||
this.$set(this.formData, 'loginName', null)
|
||||
this.$set(this.formData, 'sex', null)
|
||||
this.$set(this.formData, 'unitId', null)
|
||||
this.$set(this.formData, 'unitName', null)
|
||||
this.$set(this.formData, 'unionId', null)
|
||||
this.$set(this.formData, 'unionName', null)
|
||||
this.$set(this.formData, 'birthday', null)
|
||||
this.$set(this.formData, 'mobile', null)
|
||||
}
|
||||
this.userNameSheetShow = false
|
||||
},
|
||||
modeChange(val) {
|
||||
if (this.formData.id) {
|
||||
return
|
||||
}
|
||||
const user = JSON.parse(window.sessionStorage.getItem('user'))
|
||||
if (val === "1") {
|
||||
this.$set(this.formData, 'userId', user.id)
|
||||
this.$set(this.formData, 'userName', user.username)
|
||||
this.$set(this.formData, 'loginName', user.loginname)
|
||||
this.$set(this.formData, 'proxyUserId', user.id)
|
||||
this.$set(this.formData, 'proxyUserName', user.username)
|
||||
this.$set(this.formData, 'proxyLoginName', user.loginname)
|
||||
this.$set(this.formData, 'mode', "1")
|
||||
this.$set(this.formData, 'sex', user.sex)
|
||||
this.$set(this.formData, 'unitId', user.unit.id)
|
||||
this.$set(this.formData, 'unitName', user.unit.name)
|
||||
this.$set(this.formData, 'unionId', user.union.id)
|
||||
this.$set(this.formData, 'unionName', user.union.unionname)
|
||||
this.$set(this.formData, 'monthlyIncome', null)
|
||||
this.$set(this.formData, 'birthday', user.birthday)
|
||||
this.$set(this.formData, 'mobile', user.mobile)
|
||||
this.$set(this.formData, 'homeAddress', user.homeAddress)
|
||||
this.$set(this.formData, 'subsidyStandards', null)
|
||||
this.$set(this.formData, 'reason', null)
|
||||
this.$set(this.formData, 'remarks', null)
|
||||
this.$set(this.formData, 'familyList', [])
|
||||
this.$set(this.formData, 'files', [])
|
||||
} else {
|
||||
this.formData = {}
|
||||
this.$set(this.formData, 'proxyUserId', user.id)
|
||||
this.$set(this.formData, 'proxyUserName', user.username)
|
||||
this.$set(this.formData, 'proxyLoginName', user.loginname)
|
||||
this.$set(this.formData, 'mode', "2")
|
||||
this.$set(this.formData, 'familyList', [])
|
||||
this.$set(this.formData, 'files', [])
|
||||
}
|
||||
},
|
||||
onSubmit(values) {
|
||||
if (this.formData.familyList.length === 0) {
|
||||
this.$toast("请添加家庭成员信息")
|
||||
return
|
||||
}
|
||||
if (!this.formData.signature) {
|
||||
this.$toast("请签字!")
|
||||
return
|
||||
}
|
||||
let urlValue = 'doAdd'
|
||||
if (this.id) {
|
||||
urlValue = 'doEdit'
|
||||
}
|
||||
$.post('/platform/difficulty/apply/' + urlValue, {
|
||||
data: JSON.stringify(this.formData)
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$toast.success(res.msg)
|
||||
pjaxReplace('/platform/difficulty/applylist/h5')
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
onSexConfirm(value) {
|
||||
this.formData.sex = value;
|
||||
this.showSexPicker = false;
|
||||
},
|
||||
onDateConfirm(value) {
|
||||
this.formData.birthday = value;
|
||||
this.showDatePicker = false;
|
||||
},
|
||||
onSubsidyConfirm(value) {
|
||||
this.formData.subsidyStandards = value;
|
||||
this.showSubsidyPicker = false;
|
||||
},
|
||||
|
||||
handleBeforeClose(action, done) {
|
||||
if (action === 'confirm') {
|
||||
if (!this.newMember.name || !this.newMember.age || !this.newMember.relation || !this.newMember.monthlyIncome) {
|
||||
this.$toast('请填写完整信息');
|
||||
done(false);
|
||||
} else {
|
||||
done()
|
||||
if (this.isEditing) {
|
||||
this.updateMember();
|
||||
} else {
|
||||
this.addMember();
|
||||
}
|
||||
done();
|
||||
}
|
||||
} else {
|
||||
done()
|
||||
}
|
||||
},
|
||||
|
||||
addMember() {
|
||||
this.formData.familyList.push({...this.newMember});
|
||||
this.resetNewMember();
|
||||
},
|
||||
|
||||
editMember(index) {
|
||||
this.newMember = {...this.formData.familyList[index]};
|
||||
this.editingIndex = index;
|
||||
this.isEditing = true;
|
||||
this.showDialog = true;
|
||||
},
|
||||
updateMember() {
|
||||
this.formData.familyList.splice(this.editingIndex, 1, {...this.newMember});
|
||||
this.resetNewMember();
|
||||
},
|
||||
removeMember(index) {
|
||||
this.formData.familyList.splice(index, 1);
|
||||
},
|
||||
resetNewMember() {
|
||||
this.newMember = {name: '', age: '', relation: '', monthlyIncome: ''};
|
||||
this.isEditing = false;
|
||||
this.editingIndex = null;
|
||||
}
|
||||
},
|
||||
|
||||
async created() {
|
||||
if (this.id) {
|
||||
$.get('/platform/difficulty/apply/findOne', {id: this.id}).then(res => {
|
||||
if (res.code === 0) {
|
||||
res.data.birthday = moment(res.data.birthday).format('YYYY-MM-DD')
|
||||
this.formData = res.data
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.modeChange("1")
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,10 +1,12 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style></style>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难帮扶申请信息" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶申请信息" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div>
|
||||
<difficulty-info :id.sync="id"></difficulty-info>
|
||||
@@ -13,7 +15,7 @@ layout("/mobile/platform.html"){
|
||||
<script src="/assets/platform/module/difficulty/common.js?v=1.0.0"></script>
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -22,15 +24,15 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
},
|
||||
methods: {},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.state_id = GetQueryString("state_id")
|
||||
this.id = GetQueryString('id')
|
||||
this.state_id = GetQueryString('state_id')
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
@@ -3,10 +3,10 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.apply_btn {
|
||||
animation: come 0.5s;
|
||||
animation: come .5s;
|
||||
position: fixed;
|
||||
top: 20%;
|
||||
right: 0;
|
||||
right: 0
|
||||
}
|
||||
|
||||
@keyframes come {
|
||||
@@ -17,11 +17,12 @@ layout("/mobile/platform.html"){
|
||||
right: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
<van-nav-bar title="困难帮扶申请列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶申请列表" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
@@ -29,11 +30,14 @@ layout("/mobile/platform.html"){
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<div style="margin: 60px auto 0 auto">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id,o.zt)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="受补助人">
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.sbzrname}}({{o.sbzrloginname}})</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}">
|
||||
{{o.sbzrname}}({{o.sbzrloginname}})
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申请时间">{{o.sqsj}}</van-cell>
|
||||
<van-cell :border="false" title="所属单位">{{o.unitname}}</van-cell>
|
||||
@@ -46,30 +50,34 @@ layout("/mobile/platform.html"){
|
||||
</van-list>
|
||||
</div>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
visible: true,
|
||||
typeOption: [{ value: null, text: "全部" }],
|
||||
typeOption: [
|
||||
{value: null, text: '全部'}
|
||||
],
|
||||
yearOption: [],
|
||||
pageForm: {
|
||||
year: "",
|
||||
type: ""
|
||||
year: '',
|
||||
type: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
},
|
||||
methods: {
|
||||
openInfo(id, state) {
|
||||
window.location.href = "/mobile/difficulty/apply/apply_info?id=" + id
|
||||
window.location.href = '/mobile/difficulty/apply/apply_info?id=' + id
|
||||
/* if ([95,96, 100].includes(state)) {
|
||||
window.location.href = '/mobile/difficulty/apply/index?id=' + id
|
||||
}else{
|
||||
@@ -84,18 +92,19 @@ layout("/mobile/platform.html"){
|
||||
listenTouch() {
|
||||
this.$nextTick(() => {
|
||||
const app = document.querySelector("#app")
|
||||
app.addEventListener("touchstart", () => {
|
||||
app.addEventListener('touchstart', () => {
|
||||
this.visible = false
|
||||
})
|
||||
app.addEventListener("touchend", () => {
|
||||
app.addEventListener('touchend', () => {
|
||||
this.visible = true
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
setTimeout(async () => {
|
||||
$.get("/platform/fw/difficulty/applylist/pageData", this.pageForm, (res) => {
|
||||
$.get('/platform/fw/difficulty/applylist/pageData', this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -107,7 +116,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
this.mLoading = false
|
||||
}, 600)
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.listenTouch()
|
||||
@@ -115,7 +124,7 @@ layout("/mobile/platform.html"){
|
||||
async created() {
|
||||
this.mLoading = true
|
||||
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
|
||||
this.yearOption.unshift({ value: i, text: i + "年" })
|
||||
this.yearOption.unshift({value: i, text: i + '年'},)
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearOption[0].value)
|
||||
this.mLoading = false
|
||||
@@ -124,4 +133,4 @@ layout("/mobile/platform.html"){
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
@@ -3,24 +3,36 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<m-page-loading v-if="mLoading"></m-page-loading>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed
|
||||
@click-left="history.go(-1)"></van-nav-bar>
|
||||
|
||||
<div class="search-fixed">
|
||||
<van-dropdown-menu active-color="#1989fa">
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange" :options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange" :options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange" :options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange" :options="mCommon.unitList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
|
||||
:options="yearList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange"
|
||||
:options="auditList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
|
||||
:options="mCommon.unionList"></van-dropdown-item>
|
||||
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
|
||||
:options="mCommon.unitList"></van-dropdown-item>
|
||||
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
|
||||
<div style="margin: 70px auto 0">
|
||||
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
|
||||
<van-list v-model="loading" :finished="finished"
|
||||
:finished-text="tableData.length>0?'没有更多了':''"
|
||||
@load="pageData">
|
||||
<div v-for="o in tableData" class="list-card" @click="openView(o)">
|
||||
<van-cell-group inset>
|
||||
<van-cell :border="false" title="受助人">
|
||||
<span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.sbzrname}}({{o.sbzrloginname}})</span>
|
||||
<span class="van-ellipsis" style="font-size: 16px;"
|
||||
:style="{color:themeColor}">
|
||||
{{o.sbzrname}}({{o.sbzrloginname}})
|
||||
</span>
|
||||
</van-cell>
|
||||
<van-cell :border="false" title="申 请 人">{{o.sqrname}}</van-cell>
|
||||
<van-cell :border="false" title="所在工会">{{o.sqrunionname}}</van-cell>
|
||||
@@ -34,13 +46,18 @@ layout("/mobile/platform.html"){
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image"
|
||||
image="/none.svg"
|
||||
description="暂无数据">
|
||||
</van-empty>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -48,19 +65,19 @@ layout("/mobile/platform.html"){
|
||||
unionList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{ text: "未审核", value: false },
|
||||
{ text: "已审核", value: true }
|
||||
{text: '未审核', value: false},
|
||||
{text: '已审核', value: true},
|
||||
],
|
||||
handle: true,
|
||||
pageForm: {
|
||||
year: new Date().getFullYear(),
|
||||
isAudit: false
|
||||
}
|
||||
isAudit: false,
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openView(o) {
|
||||
window.location.href = "/mobile/difficulty/audit/auditHtml?zt=" + o.zt + "&id=" + o.id
|
||||
window.location.href = '/mobile/difficulty/audit/auditHtml?zt=' + o.zt + '&id=' + o.id
|
||||
},
|
||||
yearChange() {
|
||||
this.pageForm.pageNumber = 1
|
||||
@@ -72,7 +89,7 @@ layout("/mobile/platform.html"){
|
||||
pageData() {
|
||||
this.mLoading = true
|
||||
setTimeout(async () => {
|
||||
$.get(loc() + "/pageData", this.pageForm, (res) => {
|
||||
$.get(loc() + '/pageData', this.pageForm, (res) => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
if (this.tableData.length === res.data.totalCount) {
|
||||
@@ -86,7 +103,7 @@ layout("/mobile/platform.html"){
|
||||
}, 600)
|
||||
},
|
||||
async flushUnits() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === "true") {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('SchoolUnionMemberAdmin')}" === 'true') {
|
||||
await mCommon.getUnitList(this.pageForm.unionId)
|
||||
} else {
|
||||
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
@@ -95,7 +112,7 @@ layout("/mobile/platform.html"){
|
||||
async init() {
|
||||
let nowYear = new Date().getFullYear()
|
||||
for (let i = nowYear; i >= nowYear - 9; i--) {
|
||||
this.yearList.push({ text: i, value: i })
|
||||
this.yearList.push({text: i, value: i})
|
||||
}
|
||||
await mCondolence.getType()
|
||||
await mCommon.getUnionList()
|
||||
@@ -112,7 +129,7 @@ layout("/mobile/platform.html"){
|
||||
this.flushUnits()
|
||||
}
|
||||
})
|
||||
window.addEventListener("pageshow", (e) => {
|
||||
window.addEventListener('pageshow', e => {
|
||||
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
|
||||
vue.init()
|
||||
vue.yearChange()
|
||||
@@ -120,6 +137,7 @@ layout("/mobile/platform.html"){
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
@@ -0,0 +1,356 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="困难帮扶分工会审核" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.userName + '(' + item.loginName + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">性 别:</span><span>{{item.sex}}</span></van-col>
|
||||
<van-col span="24"><span style="color: grey">联系方式:</span>{{item.mobile}}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">所属工会:</span>{{item.unionName}}</van-col>
|
||||
<van-col span="24"><span style="color: grey">工作单位:</span><span>{{item.unitName}}</span></van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">款 项:</span>{{item.subsidyStandards}}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span style="color: grey">当前状态:</span>
|
||||
<span>{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="item.stateId === 3000"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<van-button size="small" type="danger"
|
||||
v-if="[3010,3020,3030].includes(item.stateId)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="分工会审核"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100% - 44px);overflow-y: auto">
|
||||
<info ref="infoRef"></info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '分工会审核' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="auditTime" v-model="formData.auditTime" required></van-field>
|
||||
<van-field label="审核金额" type="number" name="money" v-model="formData.money" placeholder="请输入审核金额" required></van-field>
|
||||
<van-field label="审核意见" name="auditOpinion" v-model="formData.auditOpinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="auditSign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" :is_value_base64="false" v-model="formData.auditSign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">返回修改</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
<script>
|
||||
<!--#include('../common/info.js'){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
unionId: "",
|
||||
unitId: "",
|
||||
isAudit: false
|
||||
},
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: "已审核", value: true},
|
||||
{text: "未审核", value: false},
|
||||
],
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
|
||||
userId: "",
|
||||
infoShow: false,
|
||||
showApprovalForm: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'info': info
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.auditTime = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/difficulty/branchUnionAudit/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.money || !this.formData.auditOpinion || !this.formData.auditSign) {
|
||||
this.$toast.fail('存在未填写的必填项,请填写完整后再次提交')
|
||||
return
|
||||
}
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/difficulty/branchUnionAudit/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/difficulty/branchUnionAudit/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,161 @@
|
||||
const info = {
|
||||
template: /*language=HTML*/
|
||||
`
|
||||
<div>
|
||||
|
||||
<van-cell-group>
|
||||
<van-cell title="姓名">{{ viewData.userName }}</van-cell>
|
||||
<van-cell title="工号">{{ viewData.loginName }}</van-cell>
|
||||
<van-cell title="性别">{{ viewData.sex }}</van-cell>
|
||||
<van-cell title="单位">{{ viewData.unitName }}</van-cell>
|
||||
<van-cell title="分工会">{{ viewData.unionName }}</van-cell>
|
||||
<van-cell title="月收入">{{ viewData.monthlyIncome }}</van-cell>
|
||||
<van-cell title="出生年月">{{ viewData.birthday }}</van-cell>
|
||||
<van-cell title="手机号码">{{ viewData.mobile }}</van-cell>
|
||||
<van-cell title="家庭地址">{{ viewData.homeAddress }}</van-cell>
|
||||
<van-cell title="款项">{{ viewData.subsidyStandards }}</van-cell>
|
||||
<van-cell title="申请原因">{{ viewData.reason }}</van-cell>
|
||||
<van-cell title="备注">{{ viewData.remarks }}</van-cell>
|
||||
<van-cell title="家庭成员收入" class="column-cell">
|
||||
<table class="family-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="table-header">序号</th>
|
||||
<th class="table-header">姓名</th>
|
||||
<th class="table-header">年龄(岁)</th>
|
||||
<th class="table-header">关系</th>
|
||||
<th class="table-header">月收入(元)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="table-row" v-for="(item, index) in viewData.familyList" :key="index">
|
||||
<td class="table-cell">{{ index + 1 }}</td>
|
||||
<td class="table-cell">{{ item.name }}</td>
|
||||
<td class="table-cell">{{ item.age }}</td>
|
||||
<td class="table-cell">{{ item.relation }}</td>
|
||||
<td class="table-cell">{{ item.monthlyIncome }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</van-cell>
|
||||
<van-cell title="附件" class="column-cell">
|
||||
<vant-file-upload :files.sync="viewData.files" view :del="false"
|
||||
v-if="viewData.files&&viewData.files.length"></vant-file-upload>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
<van-cell title="签字" class="column-cell">
|
||||
<van-image width="200" height="100" :src="CREATE_PREVIEW_URL(viewData.signature)"
|
||||
v-if="viewData.signature"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group v-if="viewData.branchUnionAudit">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会审核信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell title="审核人">{{ viewData.branchUnionAudit.username }}</van-cell>
|
||||
<van-cell title="审核时间">{{ viewData.branchUnionAudit.auditTime }}</van-cell>
|
||||
<van-cell title="审核金额" v-if="!viewData.isSelf">{{ viewData.branchUnionAudit.ext?.money }}元</van-cell>
|
||||
<van-cell title="审核意见">{{ viewData.branchUnionAudit.auditOpinion }}</van-cell>
|
||||
<van-cell title="签字" class="column-cell">
|
||||
<van-image width="200" height="100" :src="CREATE_PREVIEW_URL(viewData.branchUnionAudit.auditSign)"
|
||||
v-if="viewData.branchUnionAudit.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group v-if="viewData.schoolUnionInitialAudit">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会初审信息
|
||||
</div>
|
||||
</div>
|
||||
<van-cell title="审核人">{{ viewData.schoolUnionInitialAudit.username }}</van-cell>
|
||||
<van-cell title="审核时间">{{ viewData.schoolUnionInitialAudit.auditTime }}</van-cell>
|
||||
<van-cell title="审核金额">{{ viewData.schoolUnionInitialAudit.ext?.money }}元</van-cell>
|
||||
<van-cell title="审核意见" v-if="!viewData.isSelf">{{ viewData.schoolUnionInitialAudit.auditOpinion }}</van-cell>
|
||||
<van-cell title="签字" class="column-cell">
|
||||
<van-image width="200" height="100" :src="CREATE_PREVIEW_URL(viewData.schoolUnionInitialAudit.auditSign)"
|
||||
v-if="viewData.schoolUnionInitialAudit.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group v-if="viewData.schoolUnionFinalAudit">
|
||||
<div class="van-cell-group__title mt20">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
批准部门意见
|
||||
</div>
|
||||
</div>
|
||||
<van-cell title="审核人">{{ viewData.schoolUnionFinalAudit.username }}</van-cell>
|
||||
<van-cell title="审核时间">{{ viewData.schoolUnionFinalAudit.auditTime }}</van-cell>
|
||||
<van-cell title="审核金额">{{ viewData.schoolUnionInitialAudit.ext?.money }}元</van-cell>
|
||||
<van-cell title="审核意见">{{ viewData.schoolUnionFinalAudit.auditOpinion }}</van-cell>
|
||||
<van-cell title="签字" class="column-cell">
|
||||
<van-image width="200" height="100" :src="CREATE_PREVIEW_URL(viewData.schoolUnionFinalAudit.auditSign)"
|
||||
v-if="viewData.schoolUnionFinalAudit.auditSign"></van-image>
|
||||
<span v-else>暂无</span>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
`,
|
||||
data() {
|
||||
return {
|
||||
activeName: 'info',
|
||||
viewData: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
CREATE_PREVIEW_URL,
|
||||
onOpen(id, activeName = '1') {
|
||||
this.activeName = activeName
|
||||
$.get('/platform/difficulty/common/findOne', {id}).then(res => {
|
||||
if (res.code === 0) {
|
||||
try {
|
||||
res.data.familyList = JSON.parse(res.data.familyList)
|
||||
res.data.files = JSON.parse(res.data.files)
|
||||
} catch (e) {
|
||||
}
|
||||
this.viewData = res.data
|
||||
console.log(this.viewData)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
style: /*language=CSS*/
|
||||
`
|
||||
.column-cell {
|
||||
flex-direction: column;
|
||||
}
|
||||
.family-table {
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
border-collapse: collapse;
|
||||
table-layout: auto;
|
||||
text-align: center;
|
||||
font-family: 'Arial', sans-serif;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.table-header {
|
||||
background-color: #1867b0;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.table-row {
|
||||
background-color: #f9f9f9;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.table-row:hover {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
.table-cell {
|
||||
padding: 10px 20px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
}
|
||||
`
|
||||
}
|
||||
@@ -0,0 +1,293 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="困难帮扶申请记录" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="doSearch();flushUnits(pageForm.unionId)" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.userName + '(' + item.loginName + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">性 别:</span><span>{{item.sex}}</span></van-col>
|
||||
<van-col span="24"><span style="color: grey">联系方式:</span>{{item.mobile}}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">所属工会:</span>{{item.unionName}}</van-col>
|
||||
<van-col span="24"><span style="color: grey">工作单位:</span><span>{{item.unitName}}</span></van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">款 项:</span>{{item.subsidyStandards}}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span style="color: grey">当前状态:</span>
|
||||
<span>{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" @click="pjaxReplace('/platform/difficulty/apply/h5?id=' + item.id)"
|
||||
v-if="[3000,3020,3050,3080].includes(item.stateId)"
|
||||
type="info" style="margin-right: 4px">编辑</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100vh', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="困难帮扶申请记录详情"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<div style="height: calc(100% - 44px);overflow-y: auto">
|
||||
<info ref="infoRef"></info>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
<script>
|
||||
<!--#include('../common/info.js'){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
unionId: "",
|
||||
unitId: "",
|
||||
isAudit: false
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
|
||||
infoShow: false,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'info': info
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/difficulty/applylist/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initUnion(unionId) {
|
||||
this.unionList = await getUnions(unionId)
|
||||
this.unionList.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.initUnion()
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.initUnion("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,20 +3,35 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="慰问审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
|
||||
<difficulty-info ref="info" :id.sync="id" title="校工会主席审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">校工会主席审核</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
校工会主席审核
|
||||
</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="username" label="审核人员"></van-field>
|
||||
|
||||
<van-field readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
<van-field v-model="formData.xghbzje" label="初审金额"></van-field>
|
||||
|
||||
<van-field v-model="formData.opinion" rows="1" autosize label="审核意见" type="textarea" placeholder="请输入审核意见"></van-field>
|
||||
<van-field v-model="formData.opinion"
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
<template #label>
|
||||
@@ -27,42 +42,52 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">返回修改</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">返回修改
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">通 过</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">通 过
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</difficulty-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {}
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.opinion) {
|
||||
this.$toast.fail("请填写审核意见")
|
||||
this.$toast.fail('请填写审核意见');
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
@@ -71,14 +96,14 @@ layout("/mobile/platform.html"){
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/difficulty/schoolmanager/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
this.$toast.success('审核成功');
|
||||
setTimeout(() => {
|
||||
history.back()
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
this.$toast.fail('审核失败');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
@@ -86,16 +111,19 @@ layout("/mobile/platform.html"){
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditOpinion: null,
|
||||
auditSign: "",
|
||||
xghbzje: this.$refs.info.viewData.xghbzje
|
||||
}
|
||||
}, 300)
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,369 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="困难帮扶委员会审核" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="doSearch" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.userName + '(' + item.loginName + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">性 别:</span><span>{{item.sex}}</span></van-col>
|
||||
<van-col span="24"><span style="color: grey">联系方式:</span>{{item.mobile}}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">所属工会:</span>{{item.unionName}}</van-col>
|
||||
<van-col span="24"><span style="color: grey">工作单位:</span><span>{{item.unitName}}</span></van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">款 项:</span>{{item.subsidyStandards}}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span style="color: grey">当前状态:</span>
|
||||
<span>{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="item.stateId === 3060"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<van-button size="small" type="danger"
|
||||
v-if="[3070,3080,3090].includes(item.stateId)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="工会常委会审核审核"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<info ref="infoRef"></info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '工会常委会审核审核' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="auditTime" v-model="formData.auditTime" required></van-field>
|
||||
<van-field label="审核金额" type="number" name="money" v-model="formData.money" placeholder="请输入审核金额" required></van-field>
|
||||
<van-field label="审核意见" name="auditOpinion" v-model="formData.auditOpinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="auditSign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" v-model="formData.auditSign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">返回修改</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
<script>
|
||||
<!--#include('../common/info.js'){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
unionId: "",
|
||||
unitId: "",
|
||||
isAudit: false
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: "已审核", value: true},
|
||||
{text: "未审核", value: false},
|
||||
],
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
|
||||
userId: "",
|
||||
infoShow: false,
|
||||
showApprovalForm: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'info': info
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.auditTime = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/difficulty/schoolUnionFinalAudit/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.money || !this.formData.auditOpinion || !this.formData.auditSign) {
|
||||
this.$toast.fail('存在未填写的必填项,请填写完整后再次提交')
|
||||
return
|
||||
}
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/difficulty/schoolUnionFinalAudit/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/difficulty/schoolUnionFinalAudit/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initUnion(unionId) {
|
||||
this.unionList = await getUnions(unionId)
|
||||
this.unionList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.initUnion()
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.initUnion("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,369 @@
|
||||
<!--#
|
||||
layout("/mobile/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.van-doc-card {
|
||||
margin: 14px;
|
||||
padding: 12px 12px 12px 12px;
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 8px 12px #ebedf0;
|
||||
line-height: 20px;
|
||||
font-size: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 6px 0 6px 0;
|
||||
}
|
||||
|
||||
.van-button--small {
|
||||
border-radius: 8px;
|
||||
height: 26px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.van-col {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.title_span {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: 11px;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.cus_overflow {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.van-dropdown-menu__item {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.van-cell__title {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
.van-cell__right-icon {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.van-sidebar-item {
|
||||
padding: 8px 12px;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.footer .van-button {
|
||||
height: 34px;
|
||||
border-radius: 6px;
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.join {
|
||||
background-color: #0e78c5;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.info_tab .van-doc-card > div:first-child {
|
||||
border: 2px #0e78c5 solid;
|
||||
width: 26px;
|
||||
border-radius: 6px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.process-title {
|
||||
font-size: 15px;
|
||||
color: #1867b0;
|
||||
font-weight: 600;
|
||||
margin: 10px 0 10px 0!important;
|
||||
padding:10px;
|
||||
position: relative;
|
||||
line-height: 1.1;
|
||||
font-family: inherit;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<van-sticky>
|
||||
<van-nav-bar title="困难帮扶校工会初审" left-arrow placeholder fixed
|
||||
@click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-search
|
||||
v-model="pageForm.searchKeyword"
|
||||
placeholder="请输入工号或者姓名进行查询"
|
||||
:show-action="false"
|
||||
:reverse-color="false"
|
||||
input-align="left"
|
||||
@search="doSearch"
|
||||
></van-search>
|
||||
<van-dropdown-menu :close-on-click-outside="false" :close-on-click-overlay="false">
|
||||
<van-dropdown-item :options="yearList" @change="doSearch" v-model="pageForm.year"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unionList" @change="doSearch();flushUnits(pageForm.unionId)" v-model="pageForm.unionId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="unitList" @change="doSearch" v-model="pageForm.unitId"></van-dropdown-item>
|
||||
<van-dropdown-item :options="auditList" @change="doSearch" v-model="pageForm.isAudit"></van-dropdown-item>
|
||||
</van-dropdown-menu>
|
||||
</van-sticky>
|
||||
|
||||
<div>
|
||||
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="pageData">
|
||||
<div v-for="item in tableData" :key="item.id" class="van-doc-card">
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between">
|
||||
<div style="width: 74%">
|
||||
<div class="van-ellipsis title">
|
||||
<span class="title_span">|</span>
|
||||
<span>{{item.userName + '(' + item.loginName + ')'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 4px">
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">性 别:</span><span>{{item.sex}}</span></van-col>
|
||||
<van-col span="24"><span style="color: grey">联系方式:</span>{{item.mobile}}</van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">所属工会:</span>{{item.unionName}}</van-col>
|
||||
<van-col span="24"><span style="color: grey">工作单位:</span><span>{{item.unitName}}</span></van-col>
|
||||
</van-row>
|
||||
<van-row>
|
||||
<van-col span="24"><span style="color: grey">款 项:</span>{{item.subsidyStandards}}</van-col>
|
||||
</van-row>
|
||||
</div>
|
||||
|
||||
<van-divider></van-divider>
|
||||
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div>
|
||||
<span style="color: grey">当前状态:</span>
|
||||
<span>{{item.state_name}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<van-button size="small" @click="openView(item)"
|
||||
type="info" style="margin-right: 4px">查看
|
||||
</van-button>
|
||||
<van-button size="small" type="primary"
|
||||
v-if="item.stateId === 3030"
|
||||
@click="openApproval(item)"
|
||||
style="margin-right: 4px">审核
|
||||
</van-button>
|
||||
<van-button size="small" type="danger"
|
||||
v-if="[3040,3050,3060].includes(item.stateId)"
|
||||
@click="openRevoke(item.id)"
|
||||
style="margin-right: 4px">撤回
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
<van-empty v-else class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="infoShow" position="right" :style="{ height: '100%', width: '100%' }" safe-area-inset-bottom>
|
||||
<van-sticky>
|
||||
<van-nav-bar @click-left="infoShow=false" left-arrow
|
||||
title="校工会初审"></van-nav-bar>
|
||||
</van-sticky>
|
||||
<info ref="infoRef"></info>
|
||||
<div v-if="showApprovalForm">
|
||||
<div class="process-title">{{ '校工会初审' }}</div>
|
||||
<van-form>
|
||||
<van-field label="审核人员" readonly name="username" v-model="formData.username" required></van-field>
|
||||
<van-field label="审核时间" readonly name="auditTime" v-model="formData.auditTime" placeholder="请输入审核时间" required></van-field>
|
||||
<van-field label="审核金额" type="number" name="money" v-model="formData.money" placeholder="请输入审核金额" required></van-field>
|
||||
<van-field label="审核意见" name="auditOpinion" v-model="formData.auditOpinion" placeholder="请输入审核意见" required></van-field>
|
||||
<van-field label="审核签字" name="auditSign" required style="flex-flow: column">
|
||||
<template #label>
|
||||
<div class="mb10">审核签字</div>
|
||||
</template>
|
||||
<template #input>
|
||||
<mobile-sign ref="signature" v-model="formData.auditSign"></mobile-sign>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-form>
|
||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||
<van-button type="danger" block @click.submit="doApproval(1)">拒绝</van-button>
|
||||
<van-button type="danger" block @click.submit="doApproval(2)">返回修改</van-button>
|
||||
<van-button type="primary" block @click.submit="doApproval(3)">通过</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
<script>
|
||||
<!--#include('../common/info.js'){}#-->
|
||||
|
||||
const vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
unionId: "",
|
||||
unitId: "",
|
||||
isAudit: false
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
yearList: [],
|
||||
auditList: [
|
||||
{text: "已审核", value: true},
|
||||
{text: "未审核", value: false},
|
||||
],
|
||||
tableLoading: false,
|
||||
tableFinished: false,
|
||||
|
||||
userId: "",
|
||||
infoShow: false,
|
||||
showApprovalForm: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'info': info
|
||||
},
|
||||
methods: {
|
||||
openView(item) {
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = false
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openApproval(item) {
|
||||
this.formData.id = item.id
|
||||
this.formData.username = "${@shiro.getPrincipalProperty('username')}"
|
||||
this.formData.auditTime = moment().format('YYYY-MM-DD')
|
||||
this.infoShow = true
|
||||
this.showApprovalForm = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.infoRef.onOpen(item.id)
|
||||
})
|
||||
},
|
||||
openRevoke(id) {
|
||||
this.$dialog.confirm({
|
||||
title: '温馨提示',
|
||||
message: '确定要撤回该申请吗?'
|
||||
}).then(() => {
|
||||
$.post('/platform/difficulty/schoolUnionInitialAudit/doEdit', { id }).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
async doApproval(flag) {
|
||||
if (!this.formData.money || !this.formData.auditOpinion || !this.formData.auditSign) {
|
||||
this.$toast.fail('存在未填写的必填项,请填写完整后再次提交')
|
||||
return
|
||||
}
|
||||
this.formData.pass = flag
|
||||
const resp = await $.post('/platform/difficulty/schoolUnionInitialAudit/doReview', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success(resp.msg)
|
||||
this.infoShow = false
|
||||
this.doSearch()
|
||||
} else {
|
||||
this.$toast.fail(resp.msg)
|
||||
}
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.tableData = []
|
||||
this.finished = false
|
||||
this.pageData()
|
||||
},
|
||||
pageData() {
|
||||
this.tableLoading = true
|
||||
$.post('/platform/difficulty/schoolUnionInitialAudit/pageData', this.pageForm)
|
||||
.then(res => {
|
||||
if (res.code === 0) {
|
||||
this.tableData = this.tableData.concat(res.data.list)
|
||||
this.pageForm.totalCount = res.data.totalCount
|
||||
if (this.tableData.length >= this.pageForm.totalCount) {
|
||||
this.tableFinished = true
|
||||
} else {
|
||||
this.pageForm.pageNumber++
|
||||
}
|
||||
this.tableLoading = false
|
||||
} else {
|
||||
this.$toast(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
async initUnion(unionId) {
|
||||
this.unionList = await getUnions(unionId)
|
||||
this.unionList.forEach(v => {
|
||||
v.text = v.unionname
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unionList && this.unionList.length > 0) {
|
||||
this.unionList.unshift({ text: "全部工会", value: null })
|
||||
this.$set(this.pageForm, "unionId", this.unionList[0].value)
|
||||
}
|
||||
},
|
||||
async flushUnits(unionId) {
|
||||
this.unitList = await getUnits(unionId)
|
||||
this.unitList.forEach(v => {
|
||||
v.text = v.name
|
||||
v.value = v.id
|
||||
})
|
||||
if (this.unitList && this.unitList.length > 0) {
|
||||
this.unitList.unshift({ text: "全部单位", value: null })
|
||||
this.$set(this.pageForm, "unitId", this.unitList[0].value)
|
||||
}
|
||||
},
|
||||
async initData() {
|
||||
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')}" === 'true') {
|
||||
await this.initUnion()
|
||||
await this.flushUnits()
|
||||
} else {
|
||||
await this.initUnion("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
await this.flushUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
}
|
||||
this.$set(this.pageForm, "year", this.yearList[0].value)
|
||||
this.doSearch()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.initData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -3,26 +3,34 @@ layout("/mobile/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
|
||||
<van-nav-bar title="困难帮扶审核" left-arrow placeholder fixed
|
||||
@click-left="history.back()"></van-nav-bar>
|
||||
|
||||
|
||||
<difficulty-info ref="info" :id.sync="id" title="分工会审核" :handle="handle">
|
||||
<template #handle>
|
||||
<div class="van-cell-group__title">
|
||||
<div class="van-sidebar-item van-sidebar-item--select">分工会主席审核</div>
|
||||
<div class="van-sidebar-item van-sidebar-item--select">
|
||||
分工会主席审核
|
||||
</div>
|
||||
</div>
|
||||
<van-form>
|
||||
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="username" label="审核人员"></van-field>
|
||||
<van-field
|
||||
readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"
|
||||
name="username"
|
||||
label="审核人员"
|
||||
></van-field>
|
||||
|
||||
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
|
||||
|
||||
<van-field
|
||||
v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
<van-field v-model="formData.auditOpinion"
|
||||
required
|
||||
rows="1"
|
||||
autosize
|
||||
label="审核意见"
|
||||
type="textarea"
|
||||
placeholder="请输入审核意见"
|
||||
></van-field>
|
||||
|
||||
<van-field label="签字" required style="flex-flow: column">
|
||||
@@ -34,71 +42,82 @@ layout("/mobile/platform.html"){
|
||||
</template>
|
||||
</van-field>
|
||||
|
||||
<van-row gutter="20" style="margin-top: 30px; padding: 0 25px">
|
||||
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝</van-button>
|
||||
<van-button :color="themeColor" plain block @click="doAudit(1)">拒 绝
|
||||
</van-button>
|
||||
</van-col>
|
||||
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(2)">返回修改
|
||||
</van-button>
|
||||
</van-col>
|
||||
<van-col span="8">
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过</van-button>
|
||||
<van-button :color="themeColor" block @click="doAudit(3)">通 过
|
||||
</van-button>
|
||||
</van-col>
|
||||
</van-row>
|
||||
|
||||
</van-form>
|
||||
</template>
|
||||
</difficulty-info>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
const vue = new Vue({
|
||||
el: "#app",
|
||||
el: '#app',
|
||||
mixins: [mobileMixins],
|
||||
data() {
|
||||
return {
|
||||
handle: true,
|
||||
id: "",
|
||||
formData: {}
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
"mobile-sign": httpVueLoader("/components/sign/mobileSign.vue"),
|
||||
"difficulty-info": httpVueLoader("/components/mobile/difficulty/info.vue?v=" + new Date().getTime())
|
||||
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
|
||||
'difficulty-info': httpVueLoader('/components/mobile/difficulty/info.vue?v=' + new Date().getTime()),
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
async doAudit(pass) {
|
||||
if (!this.formData.auditOpinion) {
|
||||
this.$toast.fail("请填写审核意见")
|
||||
this.$toast.fail('请填写审核意见');
|
||||
return
|
||||
}
|
||||
this.$refs.signature.submitSign()
|
||||
await this.$refs.signature.updateSign()
|
||||
this.formData.pass = pass
|
||||
const resp = await $.post("/platform/fw/difficulty/unionchairman/doReview", this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$toast.success("审核成功")
|
||||
if(resp.code===0){
|
||||
this.$toast.success('审核成功');
|
||||
setTimeout(() => {
|
||||
location.href = "/mobile/difficulty/audit"
|
||||
location.href = '/mobile/difficulty/audit'
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast.fail("审核失败")
|
||||
}else{
|
||||
this.$toast.fail('审核失败');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
async created() {
|
||||
this.id = GetQueryString("id")
|
||||
this.formData = {
|
||||
id: this.id,
|
||||
username: "${@shiro.getPrincipalProperty('username')}",
|
||||
auditTime: moment().format("YYYY-MM-DD"),
|
||||
auditTime: moment().format('YYYY-MM-DD'),
|
||||
auditOpinion: null,
|
||||
auditSign: ""
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
Reference in New Issue
Block a user