bug整改

This commit is contained in:
Paidax
2025-02-10 15:10:38 +08:00
parent 73a42d3f1c
commit f7d05c43a0
10 changed files with 547 additions and 509 deletions
Binary file not shown.
@@ -103,7 +103,7 @@ public class Zgfw_knbf implements Serializable {
@Column @Column
@Comment("出生日期") @Comment("出生日期")
@ColDefine(type = ColType.DATE) @ColDefine(type = ColType.DATETIME)
private Date birthday; private Date birthday;
@Column @Column
@@ -77,7 +77,7 @@
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
} }
.van-empty { /*.van-empty {
background-color: #FFFFFF; background-color: #FFFFFF;
position: absolute; position: absolute;
left: 50%; left: 50%;
@@ -86,7 +86,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
z-index: 0; z-index: 0;
} }*/
.van-dropdown-item__content { .van-dropdown-item__content {
border-bottom-right-radius: 15px; border-bottom-right-radius: 15px;
@@ -123,6 +123,8 @@
var loginPjax = "${@shiro.getPrincipalProperty('loginPjax')}" var loginPjax = "${@shiro.getPrincipalProperty('loginPjax')}"
const LOGO_URL = "${config.logoUrl!}" const LOGO_URL = "${config.logoUrl!}"
window.sessionStorage.setItem("user", JSON.stringify(${json(@shiro.getPrincipal())}))
ELEMENT.locale(ELEMENT.lang["${lang,escape}"]) ELEMENT.locale(ELEMENT.lang["${lang,escape}"])
Vue.component("vuedraggable", window.vuedraggable) Vue.component("vuedraggable", window.vuedraggable)
@@ -3,149 +3,208 @@ layout("/mobile/platform.html"){
#--> #-->
<div id="app" v-cloak> <div id="app" v-cloak>
<van-nav-bar title="填写慰问申请" left-arrow placeholder fixed <van-nav-bar title="填写慰问申请" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
@click-left="history.back()"></van-nav-bar>
<van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px"> <van-form ref="addForm" :show-error-message="false" input-align="right" style="margin-bottom: 60px">
<van-cell-group inset class="mt10"> <van-cell-group inset class="mt10">
<van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name" <van-field readonly value="${@shiro.getPrincipalProperty('username')}" name="manager_name" label="经办人姓名"></van-field>
label="经办人姓名"></van-field> <van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name" label="经办人工号"></van-field>
<van-field readonly value="${@shiro.getPrincipalProperty('loginname')}" name="manager_name" <van-field
label="经办人工号"></van-field> @input="userRemoteMethod"
<van-field @input="userRemoteMethod" name="be_user_name" name="be_user_name"
required required
v-model="formData.be_user_name" label="慰问对象" placeholder="请输入慰问对象" v-model="formData.be_user_name"
:rules="[{ required: true, message: '请填写慰问对象' }]"></van-field> label="慰问对象"
<van-action-sheet v-model="sheetShow" placeholder="请输入慰问对象"
:actions="userList" :rules="[{ required: true, message: '请填写慰问对象' }]"
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>
<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" <van-field
required :rules="[{ required: true, message: '请选择收款人' }]" @input="payeeUserRemoteMethod"
v-model="formData.payee_name" label="收款人" placeholder="请输入收款人"></van-field> name="payee_name"
<van-action-sheet v-model="payeeSheetShow" required
:actions="payeeUserList" :rules="[{ required: true, message: '请选择收款人' }]"
cancel-text="重新输入姓名或工号查询" v-model="formData.payee_name"
@cancel="payeeUserList = []; formData.payee_name = ''" label="收款人"
:close-on-click-overlay="false" placeholder="请输入收款人"
@select="payeeOnUserSelect"> ></van-field>
</van-action-sheet> <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" <!--<van-field v-model="formData.payee_bank_number" name="payee_bank_number" type="number"
label="收款人银行卡" placeholder="请输入收款人银行卡"></van-field> label="收款人银行卡" placeholder="请输入收款人银行卡"></van-field>
<van-field v-model="formData.payee_bank_name" name="payee_bank_name" <van-field v-model="formData.payee_bank_name" name="payee_bank_name"
label="收款人开户行" placeholder="请输入收款人开户行"></van-field>--> label="收款人开户行" placeholder="请输入收款人开户行"></van-field>-->
<van-field
<van-field readonly clickable name="type" :value="formData.typeName" readonly
required clickable
label="慰问类型" name="type"
@click="showTypePicker = true" placeholder="点击选择慰问类型" :value="formData.typeName"
:rules="[{ required:true, message: '请选择慰问类型'}]"></van-field> required
label="慰问类型"
@click="showTypePicker = true"
placeholder="点击选择慰问类型"
:rules="[{ required:true, message: '请选择慰问类型'}]"
></van-field>
<van-popup v-model:show="showTypePicker" position="bottom" round> <van-popup v-model:show="showTypePicker" position="bottom" round>
<van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm" <van-picker show-toolbar :columns="typeColumns" @confirm="onTypeConfirm" @cancel="showTypePicker = false"></van-picker>
@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-popup v-model:show="showWayPicker" position="bottom" round>
<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 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-popup> </van-popup>
<van-field <van-field
required readonly
:rules="[{ required:true, message: '请填写慰问时间' }]" clickable
readonly name="way"
clickable :value="formData.wayName"
name="occur_time" label="慰问方式"
:value="formData.occur_time" required
label="慰问时间" placeholder="点击选择慰问方式"
placeholder="点击选择慰问时间" :rules="[{ required:true, message: '请选择慰问方式'}]"
@click="showOccurTime = true"
></van-field> ></van-field>
<van-calendar v-model="showOccurTime" <van-popup v-model:show="showWayPicker" position="bottom" round>
@confirm="onOccurTimeConfirm" <van-picker show-toolbar :columns="wayColumns" @confirm="onWayConfirm" @cancel="showWayPicker = false"></van-picker>
:min-date="minDate" </van-popup>
:max-date="maxDate"
:color="themeColor"></van-calendar> <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-popup v-model:show="showChildPicker" position="bottom" round>
<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"
></van-field>
<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)"> <template v-if="['3','4'].includes(formData.type)">
<van-field v-model="formData.the_hospital" name="the_hospital" label="治疗医院" <van-field
placeholder="请填写治疗医院" required v-model="formData.the_hospital"
:rules="[{ required:true, message: '请填写治疗医院' }]"></van-field> name="the_hospital"
<van-field v-model="formData.the_hospital_house_num" name="the_hospital_house_num" label="病房号" label="治疗医院"
placeholder="请填写病房号" required placeholder="请填写治疗医院"
:rules="[{ required:true, message: '请填写病房号' }]"></van-field> required
<van-field v-model="formData.the_hospital_house_bed_num" name="the_hospital_house_bed_num" label="床号" :rules="[{ required:true, message: '请填写治疗医院' }]"
placeholder="请填写床号" required ></van-field>
: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>
<template v-if="['4'].includes(formData.type)"> <template v-if="['4'].includes(formData.type)">
<van-field v-model="formData.hospital_by" name="hospital_by" label="患病病种" <van-field
placeholder="请填写患病病种" required v-model="formData.hospital_by"
:rules="[{ required:true, message: '请填写患病病种' }]"></van-field> name="hospital_by"
label="患病病种"
placeholder="请填写患病病种"
required
:rules="[{ required:true, message: '请填写患病病种' }]"
></van-field>
</template> </template>
<template v-if="['6'].includes(formData.type)"> <template v-if="['6'].includes(formData.type)">
<van-field v-model="formData.deadImmediateFamily" name="deadImmediateFamily" label="直系亲属" <van-field
placeholder="配偶、父亲、母亲、子女" required v-model="formData.deadImmediateFamily"
:rules="[{ required:true, message: '必填' }]"></van-field> name="deadImmediateFamily"
label="直系亲属"
placeholder="配偶、父亲、母亲、子女"
required
:rules="[{ required:true, message: '必填' }]"
></van-field>
</template> </template>
<!-- <template--> <!-- <template-->
<!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">--> <!-- v-if="['c7175af55693441e8233be4552cef9d5','0872ea0b95aa463fb8d98c46bdf72537'].includes(formData.type)">-->
<!-- <van-field :value="formData.hospital_stay"--> <!-- <van-field :value="formData.hospital_stay"-->
<!-- readonly clickable required--> <!-- readonly clickable required-->
<!-- @click="hospital_stay = true"--> <!-- @click="hospital_stay = true"-->
<!-- name="hospital_stay" label="住院时间"--> <!-- name="hospital_stay" label="住院时间"-->
<!-- placeholder="请选择住院时间"--> <!-- placeholder="请选择住院时间"-->
<!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>--> <!-- :rules="[{ required:true, message: '请选择住院时间' }]"></van-field>-->
<!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"--> <!-- <van-calendar v-model="hospital_stay" type="range" @confirm="onConfirm"-->
<!-- :min-date="new Date('1999-01-01')"--> <!-- :min-date="new Date('1999-01-01')"-->
<!-- :color="themeColor"></van-calendar>--> <!-- :color="themeColor"></van-calendar>-->
<!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"--> <!-- <van-field v-model="formData.the_hospital" name="the_hospital" name="type" label="所在医院"-->
<!-- placeholder="请填写所在医院" required--> <!-- placeholder="请填写所在医院" required-->
<!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>--> <!-- :rules="[{ required:true, message: '请填写所在医院' }]"></van-field>-->
<!-- </template>--> <!-- </template>-->
<van-field v-model="formData.remark" name="remark" label="申请事由" style="flex-flow: column" <van-field
required v-model="formData.remark"
:rules="[{ required:true, message: '请填写申请事由' }]" name="remark"
placeholder="请填写申请事由" label="申请事由"
input-align="left" style="flex-flow: column"
rows="3" maxlength="200" type="textarea" show-word-limit autosize> required
:rules="[{ required:true, message: '请填写申请事由' }]"
placeholder="请填写申请事由"
input-align="left"
rows="3"
maxlength="200"
type="textarea"
show-word-limit
autosize
>
<template #label> <template #label>
<div class="mb10">申请事由</div> <div class="mb10">申请事由</div>
</template> </template>
@@ -153,8 +212,7 @@ layout("/mobile/platform.html"){
</van-cell-group> </van-cell-group>
<van-cell-group inset class="mt10" v-if="isUploadFile === true"> <van-cell-group inset class="mt10" v-if="isUploadFile === true">
<van-field name="files" label="附&emsp;&emsp;件" required <van-field name="files" label="附&emsp;&emsp;件" required style="flex-flow: column" input-align="left">
style="flex-flow: column" input-align="left">
<template #label> <template #label>
<div class="mb10">附&emsp;&emsp;件</div> <div class="mb10">附&emsp;&emsp;件</div>
</template> </template>
@@ -162,8 +220,8 @@ layout("/mobile/platform.html"){
<vant-file-upload :files.sync="formData.files"></vant-file-upload> <vant-file-upload :files.sync="formData.files"></vant-file-upload>
</template> </template>
</van-field> </van-field>
<div style="margin: 0 0 7px 15px;" v-if="isUploadFile && uploadFileDesc"> <div style="margin: 0 0 7px 15px" v-if="isUploadFile && uploadFileDesc">
<span style="color:red;">上传附件说明:{{ uploadFileDesc }}</span> <span style="color: red">上传附件说明:{{ uploadFileDesc }}</span>
</div> </div>
</van-cell-group> </van-cell-group>
@@ -179,26 +237,21 @@ layout("/mobile/platform.html"){
</van-cell-group> </van-cell-group>
<div style="margin: 20px 20px 10px 20px"> <div style="margin: 20px 20px 10px 20px">
<van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor"> <van-button @click="onSubmit()" style="border-radius: 10px" block type="info" :color="themeColor">提 交</van-button>
提 交
</van-button>
</div> </div>
</van-form> </van-form>
<div> <div>
<van-tabbar v-model="tarBarActive" style="z-index: 99"> <van-tabbar v-model="tarBarActive" style="z-index: 99">
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请 <van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
</van-tabbar-item> <van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
</van-tabbar-item>
</van-tabbar> </van-tabbar>
</div> </div>
</div> </div>
<script> <script>
const vue = new Vue({ const vue = new Vue({
el: '#app', el: "#app",
mixins: [mobileMixins], mixins: [mobileMixins],
data() { data() {
return { return {
@@ -222,34 +275,38 @@ layout("/mobile/platform.html"){
money: 0, money: 0,
isUploadFile: true, isUploadFile: true,
uploadFileDesc: null, uploadFileDesc: null,
showChildPicker:false, showChildPicker: false,
childColumns:[{value:'一孩',text:'一孩'},{value:'二孩',text:'二孩'},{value:'三孩',text:'三孩'}], childColumns: [
{ value: "一孩", text: "一孩" },
{ value: "二孩", text: "二孩" },
{ value: "三孩", text: "三孩" }
]
} }
}, },
watch: { watch: {
"formData.money"(val) { "formData.money"(val) {
if (val > this.money) { if (val > this.money) {
this.$notify({ this.$notify({
title: '警告', title: "警告",
message: '金额超过规定金额' + this.money + "(元)", message: "金额超过规定金额" + this.money + "(元)",
type: 'warning' type: "warning"
}); })
this.$set(this.formData, "money", this.money) this.$set(this.formData, "money", this.money)
} }
} }
}, },
components: { components: {
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue?v='+new Date().getTime()), "mobile-sign": httpVueLoader("/components/sign/mobileSign.vue?v=" + new Date().getTime())
}, },
methods: { methods: {
onChildConfirm(data){ onChildConfirm(data) {
console.log(data) console.log(data)
this.formData.birth_child_num = data.value this.formData.birth_child_num = data.value
this.showChildPicker = false this.showChildPicker = false
}, },
priceInput() { priceInput() {
let num = 0 let num = 0
this.goods.forEach(v => { this.goods.forEach((v) => {
num += parseFloat(v.price) num += parseFloat(v.price)
}) })
this.$set(this.formData, "money", num) this.$set(this.formData, "money", num)
@@ -259,18 +316,19 @@ layout("/mobile/platform.html"){
this.showOccurTime = false this.showOccurTime = false
}, },
onConfirm(date) { onConfirm(date) {
const [start, end] = date; const [start, end] = date
this.hospital_stay = false; this.hospital_stay = false
this.formData.hospital_stay = moment(start).format('YYYY-MM-DD') + "-" + moment(end).format('YYYY-MM-DD'); 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_1", moment(start).format("YYYY-MM-DD"))
this.$set(this.formData, "hospital_stay_2", moment(end).format('YYYY-MM-DD')) this.$set(this.formData, "hospital_stay_2", moment(end).format("YYYY-MM-DD"))
}, },
async userRemoteMethod(event) { async userRemoteMethod(event) {
if (event) { if (event) {
const arr = await this.queryUser(event) const arr = await this.queryUser(event)
this.userList = arr.map(v => { this.userList = arr.map((v) => {
return { return {
name: v.username + "(" + v.loginname + ")", id: v.id name: v.username + "(" + v.loginname + ")",
id: v.id
} }
}) })
this.sheetShow = true this.sheetShow = true
@@ -279,32 +337,33 @@ layout("/mobile/platform.html"){
async payeeUserRemoteMethod(event) { async payeeUserRemoteMethod(event) {
if (event) { if (event) {
const arr = await this.queryUser(event) const arr = await this.queryUser(event)
this.payeeUserList = arr.map(v => { this.payeeUserList = arr.map((v) => {
return { return {
name: v.username + "(" + v.loginname + ")", id: v.id name: v.username + "(" + v.loginname + ")",
id: v.id
} }
}) })
this.payeeSheetShow = true this.payeeSheetShow = true
} }
}, },
async queryUser(query) { 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 return data
}, },
onUserSelect(u) { onUserSelect(u) {
this.$set(this.formData, 'be_user', u.id) this.$set(this.formData, "be_user", u.id)
this.$set(this.formData, 'be_user_name', u.name) this.$set(this.formData, "be_user_name", u.name)
this.sheetShow = false this.sheetShow = false
}, },
payeeOnUserSelect(u) { payeeOnUserSelect(u) {
this.$set(this.formData, 'payee', u.id) this.$set(this.formData, "payee", u.id)
this.$set(this.formData, 'payee_name', u.name) this.$set(this.formData, "payee_name", u.name)
this.payeeSheetShow = false this.payeeSheetShow = false
}, },
async onTypeConfirm(val) { async onTypeConfirm(val) {
this.$set(this.formData, "typeName", val.text) this.$set(this.formData, "typeName", val.text)
this.$set(this.formData, "type", val.value) 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) console.log(data)
this.isUploadFile = data.isUploadFile this.isUploadFile = data.isUploadFile
@@ -312,15 +371,15 @@ layout("/mobile/platform.html"){
this.$set(this, "money", data.money) this.$set(this, "money", data.money)
await this.moneyChange(val.value) await this.moneyChange(val.value)
this.showTypePicker = false; this.showTypePicker = false
}, },
onWayConfirm(val) { onWayConfirm(val) {
this.$set(this.formData, "wayName", val.text) this.$set(this.formData, "wayName", val.text)
this.$set(this.formData, "way", val.value) this.$set(this.formData, "way", val.value)
this.showWayPicker = false; this.showWayPicker = false
}, },
async moneyChange(id) { 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) { if (data) {
this.$set(this.formData, "money", data.money) this.$set(this.formData, "money", data.money)
this.$set(this.formData, "wayName", data.way) this.$set(this.formData, "wayName", data.way)
@@ -329,34 +388,34 @@ layout("/mobile/platform.html"){
}, },
async onSubmit() { async onSubmit() {
if (!this.formData.files) { if (!this.formData.files) {
vant.Toast('请上传附件材料!') vant.Toast("请上传附件材料!")
return return
} }
this.$refs.signature.submitSign() this.$refs.signature.submitSign()
if (this.$refs.signature.checkNull()) { if (this.$refs.signature.checkNull()) {
this.$toast('请签名!') this.$toast("请签名!")
return return
} }
await this.$refs.signature.updateSign() await this.$refs.signature.updateSign()
const formData = clone(this.formData) const formData = clone(this.formData)
formData.mobile = "${@shiro.getPrincipalProperty('mobile')}" formData.mobile = "${@shiro.getPrincipalProperty('mobile')}"
formData.files = JSON.stringify(formData.files) formData.files = JSON.stringify(formData.files)
this.$refs['addForm'].validate().then(async () => { this.$refs["addForm"].validate().then(async () => {
this.$toast.loading('提交中...') this.$toast.loading("提交中...")
const res = await $.post('/platform/fw/condolence/apply/doAdd', { const res = await $.post("/platform/fw/condolence/apply/doAdd", {
data: JSON.stringify(formData), data: JSON.stringify(formData),
sign: formData.sign sign: formData.sign
}) })
if (res.code === 0) { if (res.code === 0) {
this.$toast.success('申请成功'); this.$toast.success("申请成功")
setTimeout(() => { setTimeout(() => {
location.replace('/mobile/condolence/apply') location.replace("/mobile/condolence/apply")
}, 1000) }, 1000)
} else { } else {
this.$toast.fail('申请失败'); this.$toast.fail("申请失败")
} }
}) })
}, }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
@@ -366,21 +425,20 @@ layout("/mobile/platform.html"){
}) })
}, },
async created() { 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 = "${@shiro.getPrincipalProperty('id')}"
//this.formData.be_user_name = "${@shiro.getPrincipalProperty('username')}" + "(" + "${@shiro.getPrincipalProperty('loginname')}" + ")" //this.formData.be_user_name = "${@shiro.getPrincipalProperty('username')}" + "(" + "${@shiro.getPrincipalProperty('loginname')}" + ")"
const {code, data} = await $.get("/platform/condolence/type/getAll") const { code, data } = await $.get("/platform/condolence/type/getAll")
data.forEach(v => { data.forEach((v) => {
this.typeColumns.push({value: v.id, text: v.name + "(" + v.code + ")"}) this.typeColumns.push({ value: v.id, text: v.name + "(" + v.code + ")" })
}) })
for (let i in condolence.way) { 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> </script>
<style> <style>
.up_down > .van-cell { .up_down > .van-cell {
flex-flow: column; flex-flow: column;
} }
@@ -389,14 +447,15 @@ layout("/mobile/platform.html"){
width: 100%; width: 100%;
} }
.van-cell, .van-picker button, .submit .van-button--normal { .van-cell,
.van-picker button,
.submit .van-button--normal {
font-size: 16px; font-size: 16px;
} }
.van-divider { .van-divider {
margin: 10px 0; margin: 10px 0;
} }
</style> </style>
<!--# <!--#
} }
@@ -3,8 +3,10 @@ layout("/mobile/platform.html"){
#--> #-->
<style> <style>
.apply_btn { .apply_btn {
animation: come .5s; animation: come 0.5s;
position: fixed;top: 20%;right: 0 position: fixed;
top: 20%;
right: 0;
} }
@keyframes come { @keyframes come {
@@ -15,12 +17,11 @@ layout("/mobile/platform.html"){
right: 0px; right: 0px;
} }
} }
</style> </style>
<div id="app" v-cloak> <div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading> <m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar title="慰问申请列表" left-arrow placeholder fixed @click-left="history.back()"></van-nav-bar> <van-nav-bar title="慰问申请列表" left-arrow placeholder fixed @click-left="pjaxReplace('/mobile/index')"></van-nav-bar>
<div class="search-fixed"> <div class="search-fixed">
<van-dropdown-menu active-color="#1989fa"> <van-dropdown-menu active-color="#1989fa">
@@ -29,14 +30,11 @@ layout("/mobile/platform.html"){
</van-dropdown-menu> </van-dropdown-menu>
</div> </div>
<div style="margin: 60px auto 0 auto"> <div style="margin: 60px auto 0 auto">
<van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" <van-list v-model="loading" :finished="finished" :finished-text="tableData.length>0?'没有更多了':''" @load="pageData">
@load="pageData">
<div v-for="o in tableData" class="list-card" @click="openInfo(o.id)"> <div v-for="o in tableData" class="list-card" @click="openInfo(o.id)">
<van-cell-group inset> <van-cell-group inset>
<van-cell :border="false" title="被慰问人"> <van-cell :border="false" title="被慰问人">
<span class="van-ellipsis" style="font-size: 16px;" :style="{color:themeColor}"> <span class="van-ellipsis" style="font-size: 16px" :style="{color:themeColor}">{{o.be_username}}</span>
{{o.be_username}}
</span>
</van-cell> </van-cell>
<van-cell :border="false" title="申请时间">{{o.apply_time}}</van-cell> <van-cell :border="false" title="申请时间">{{o.apply_time}}</van-cell>
<van-cell :border="false" title="慰问类型">{{o.type_name}}</van-cell> <van-cell :border="false" title="慰问类型">{{o.type_name}}</van-cell>
@@ -49,69 +47,61 @@ layout("/mobile/platform.html"){
</div> </div>
</van-list> </van-list>
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>-->
<!-- <van-button v-show="visible" class="apply_btn" @click.stop="openApply" plain hairline>--> <!-- <template #icon>-->
<!-- <template #icon>--> <!-- <svg t="1634200664904" class="icon" viewBox="0 0 1024 1024" version="1.1"-->
<!-- <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">-->
<!-- 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"-->
<!-- <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>-->
<!-- 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"-->
<!-- <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>-->
<!-- 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"-->
<!-- <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>-->
<!-- 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"-->
<!-- <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>-->
<!-- 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"-->
<!-- <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>-->
<!-- fill="#FFBB12" p-id="3168"></path>--> <!-- </svg>-->
<!-- </svg>--> <!-- </template>-->
<!-- </template>--> <!-- 申请-->
<!-- 申请--> <!-- </van-button>-->
<!-- </van-button>-->
</div> </div>
<van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" <van-empty v-if="mLoading==false&&tableData.length==0" class="custom-image" image="/none.svg" description="暂无数据"></van-empty>
image="/none.svg"
description="暂无数据">
</van-empty>
<div> <div>
<van-tabbar v-model="tarBarActive"> <van-tabbar v-model="tarBarActive">
<van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请 <van-tabbar-item icon="home-o" replace url="/mobile/condolence/apply/for">慰问申请</van-tabbar-item>
</van-tabbar-item> <van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/condolence/apply">慰问记录
</van-tabbar-item>
</van-tabbar> </van-tabbar>
</div> </div>
</div> </div>
<script> <script>
const vue = new Vue({ const vue = new Vue({
el: '#app', el: "#app",
mixins: [mobileMixins], mixins: [mobileMixins],
data() { data() {
return { return {
tarBarActive: 1, tarBarActive: 1,
visible: true, visible: true,
typeOption: [ typeOption: [{ value: null, text: "全部" }],
{value: null, text: '全部'}
],
yearOption: [], yearOption: [],
pageForm: { pageForm: {
year: '', year: "",
type: '' type: ""
} }
} }
}, },
components: { components: {
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'), "mobile-sign": httpVueLoader("/components/sign/mobileSign.vue")
}, },
methods: { methods: {
openApply() { openApply() {
window.location.href = '/mobile/condolence/apply/for' window.location.href = "/mobile/condolence/apply/for"
}, },
openInfo(id) { openInfo(id) {
window.location.href = '/mobile/condolence/apply/info?id=' + id window.location.href = "/mobile/condolence/apply/info?id=" + id
}, },
yearChange(val) { yearChange(val) {
this.pageForm.year = val this.pageForm.year = val
@@ -124,13 +114,12 @@ layout("/mobile/platform.html"){
listenTouch() { listenTouch() {
this.$nextTick(() => { this.$nextTick(() => {
const app = document.querySelector("#app") const app = document.querySelector("#app")
app.addEventListener('touchstart', () => { app.addEventListener("touchstart", () => {
this.visible = false this.visible = false
}) })
app.addEventListener('touchend', () => { app.addEventListener("touchend", () => {
this.visible = true this.visible = true
}) })
}) })
} }
}, },
@@ -140,11 +129,11 @@ layout("/mobile/platform.html"){
async created() { async created() {
this.mLoading = true this.mLoading = true
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) { 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") const { code, data } = await $.get("/platform/condolence/type/getAll")
data.forEach(v => { data.forEach((v) => {
this.typeOption.push({value: v.id, text: v.name + v.code}) this.typeOption.push({ value: v.id, text: v.name + v.code })
}) })
this.$set(this.pageForm, "year", this.yearOption[0].value) this.$set(this.pageForm, "year", this.yearOption[0].value)
this.$set(this.pageForm, "type", this.typeOption[0].value) this.$set(this.pageForm, "type", this.typeOption[0].value)
@@ -6,14 +6,14 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
<van-number-keyboard safe-area-inset-bottom /> <van-number-keyboard safe-area-inset-bottom />
<title></title> <title></title>
<!-- <link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.25/index.min.css" />--> <!-- <link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.25/index.min.css" />-->
<link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css" /> <link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css" />
<link rel="stylesheet" href="${base!}/assets/mobile/css/main.css" /> <link rel="stylesheet" href="${base!}/assets/mobile/css/main.css" />
<link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/vant.css?v=1.0.0"> <link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/vant.css?v=1.0.0" />
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script> <script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
<!-- <script src="https://cdn.staticfile.org/vant/2.12.25/vant.min.js"></script>--> <!-- <script src="https://cdn.staticfile.org/vant/2.12.25/vant.min.js"></script>-->
<script src="${base!}/assets/platform/plugins/vant/vant.js"></script> <script src="${base!}/assets/platform/plugins/vant/vant.js"></script>
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script> <script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
<script src="${base!}/assets/mobile/js/basic.js"></script> <script src="${base!}/assets/mobile/js/basic.js"></script>
@@ -49,6 +49,10 @@
<script src="${base!}/components/plugins/sysDict/DictData.js"></script> <script src="${base!}/components/plugins/sysDict/DictData.js"></script>
<script>
Vue.component("mobile-sign", httpVueLoader("/components/sign/mobileSign.vue?v=" + new Date().getTime()))
</script>
<script> <script>
window.sessionStorage.setItem("user", JSON.stringify(${json(@shiro.getPrincipal())})) window.sessionStorage.setItem("user", JSON.stringify(${json(@shiro.getPrincipal())}))
@@ -2,8 +2,7 @@
layout("/layouts/platform.html"){ layout("/layouts/platform.html"){
#--> #-->
<style> <style></style>
</style>
<div id="app" v-cloak> <div id="app" v-cloak>
<guava> <guava>
@@ -15,8 +14,7 @@ layout("/layouts/platform.html"){
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="申请人姓名" prop="proxyUserName"> <el-form-item label="申请人姓名" prop="proxyUserName">
<el-input disabled v-model="formData.proxyUserName"> <el-input disabled v-model="formData.proxyUserName"></el-input>
</el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@@ -26,10 +24,7 @@ layout("/layouts/platform.html"){
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="申请模式" prop="mode"> <el-form-item label="申请模式" prop="mode">
<el-radio-group :disabled="formData.id" @change="modeChange" <el-radio-group :disabled="formData.id" @change="modeChange" style="width: 100%" v-model="formData.mode">
style="width: 100%"
v-model="formData.mode"
>
<el-radio-button border label="1">本人申请</el-radio-button> <el-radio-button border label="1">本人申请</el-radio-button>
<el-radio-button border label="2">替他人申请</el-radio-button> <el-radio-button border label="2">替他人申请</el-radio-button>
</el-radio-group> </el-radio-group>
@@ -37,76 +32,72 @@ layout("/layouts/platform.html"){
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="受补助人" prop="userId"> <el-form-item label="受补助人" prop="userId">
<el-select :remote-method="querySqr" @change="userChange" clearable <el-select
filterable :remote-method="querySqr"
placeholder="输入工号或者姓名查找" remote @change="userChange"
style="width: 100%" clearable
v-if="!formData.id" filterable
v-model="formData.userId"> placeholder="输入工号或者姓名查找"
<el-option :key="o.id" remote
:label="o.username+'('+o.loginname+')'" style="width: 100%"
:value="o.id" v-if="!formData.id"
v-for="o in subsidizedList"></el-option> v-model="formData.userId"
>
<el-option :key="o.id" :label="o.username+'('+o.loginname+')'" :value="o.id" v-for="o in subsidizedList"></el-option>
</el-select> </el-select>
<el-input disabled maxlength="100" type="text" v-else <el-input disabled maxlength="100" type="text" v-else v-model="formData.userName"></el-input>
v-model="formData.userName"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="性别" prop="sex"> <el-form-item label="性别" prop="sex">
<el-select clearable placeholder="请选择性别" style="width: 100%" <el-select clearable placeholder="请选择性别" style="width: 100%" v-model="formData.sex">
v-model="formData.sex"> <el-option :key="item" :label="item" :value="item" v-for="item in ['男','女']"></el-option>
<el-option :key="item" :label="item" :value="item"
v-for="item in ['男','女']">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="所在单位" prop="unitName"> <el-form-item label="所在单位" prop="unitName">
<el-input clearable maxlength="50" placeholder="所在单位" <el-input clearable maxlength="50" placeholder="所在单位" v-model="formData.unitName"></el-input>
v-model="formData.unitName"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="所在分工会" prop="unionName"> <el-form-item label="所在分工会" prop="unionName">
<el-input clearable maxlength="50" placeholder="所在分工会" <el-input clearable maxlength="50" placeholder="所在分工会" v-model="formData.unionName"></el-input>
v-model="formData.unionName"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="本人月收入" prop="monthlyIncome"> <el-form-item label="本人月收入" prop="monthlyIncome">
<el-input-number :max="9999999" <el-input-number
:min="0" :max="9999999"
clearable :min="0"
controls-position="right" clearable
placeholder="请填写本人月收入" controls-position="right"
style="width: 100%" v-model="formData.monthlyIncome"> placeholder="请填写本人月收入"
</el-input-number> style="width: 100%"
v-model="formData.monthlyIncome"
></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="出生年月" prop="birthday"> <el-form-item label="出生年月" prop="birthday">
<el-date-picker <el-date-picker
clearable clearable
placeholder="选择出生年月" placeholder="选择出生年月"
style="width: 100%" style="width: 100%"
type="date" type="date"
v-model="formData.birthday" v-model="formData.birthday"
value-format="yyyy-MM-dd"> value-format="yyyy-MM-dd"
</el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="手机号码" prop="mobile"> <el-form-item label="手机号码" prop="mobile">
<el-input clearable maxlength="20" placeholder="请填写手机号码" <el-input clearable maxlength="20" placeholder="请填写手机号码" v-model="formData.mobile"></el-input>
v-model="formData.mobile"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="家庭地址" prop="homeAddress"> <el-form-item label="家庭地址" prop="homeAddress">
<el-input clearable maxlength="200" placeholder="请填写家庭地址" <el-input clearable maxlength="200" placeholder="请填写家庭地址" v-model="formData.homeAddress"></el-input>
v-model="formData.homeAddress"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -114,90 +105,103 @@ layout("/layouts/platform.html"){
<el-col :span="24"> <el-col :span="24">
<el-form-item label="款项" prop="subsidyStandards"> <el-form-item label="款项" prop="subsidyStandards">
<el-select style="width: 100%" v-model="formData.subsidyStandards"> <el-select style="width: 100%" v-model="formData.subsidyStandards">
<el-option :key="index" :label="item" <el-option :key="index" :label="item" :value="item" v-for="(item,index) in subsidyStandards"></el-option>
:value="item"
v-for="(item,index) in subsidyStandards">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="申请原因" prop="reason"> <el-form-item label="申请原因" prop="reason">
<el-input :autosize="{ minRows: 5, maxRows: 10}" clearable <el-input
maxlength="500" :autosize="{ minRows: 5, maxRows: 10}"
placeholder="请简述申请原因" clearable
type="textarea" maxlength="500"
v-model="formData.reason"></el-input> placeholder="请简述申请原因"
type="textarea"
v-model="formData.reason"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remarks"> <el-form-item label="备注" prop="remarks">
<el-input :autosize="{ minRows: 5, maxRows: 10}" clearable <el-input
maxlength="500" :autosize="{ minRows: 5, maxRows: 10}"
placeholder="请简述备注" clearable
type="textarea" maxlength="500"
v-model="formData.remarks"></el-input> placeholder="请简述备注"
type="textarea"
v-model="formData.remarks"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="家庭成员经济收入" prop="familyList"> <el-form-item label="家庭成员经济收入" prop="familyList">
<el-table :data="formData.familyList" border max-height="500" size="mini" <el-table :data="formData.familyList" border max-height="500" size="mini" style="width: 100%">
style="width: 100%"> <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
<el-table-column align="center" label="序号" type="index"
width="50"></el-table-column>
<el-table-column label="姓名" prop="name"> <el-table-column label="姓名" prop="name">
<template slot-scope="{row,$index}"> <template slot-scope="{row,$index}">
<el-form-item :prop="'familyList.'+$index+'.name'" <el-form-item
:rules="[{required:true,message:'必填',trigger:['change','blur']}]" :prop="'familyList.'+$index+'.name'"
label-width="0"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]"
<el-input clearable placeholder="请输入姓名" label-width="0"
v-model="row.name"></el-input> >
<el-input clearable placeholder="请输入姓名" v-model="row.name"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="年龄(岁)" prop="relation"> <el-table-column label="年龄(岁)" prop="relation">
<template slot-scope="{row,$index}"> <template slot-scope="{row,$index}">
<el-form-item :prop="'familyList.'+$index+'.age'" <el-form-item
:rules="[{required:true,message:'必填',trigger:['change','blur']}]" :prop="'familyList.'+$index+'.age'"
label-width="0"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]"
<el-input-number :max="100" :min="1" :step="1" label-width="0"
clearable placeholder="请输入年龄" >
v-model="row.age"></el-input-number> <el-input-number
:max="100"
:min="1"
:step="1"
clearable
placeholder="请输入年龄"
v-model="row.age"
></el-input-number>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="关系" prop="relation"> <el-table-column label="关系" prop="relation">
<template slot-scope="{row,$index}"> <template slot-scope="{row,$index}">
<el-form-item :prop="'familyList.'+$index+'.relation'" <el-form-item
:rules="[{required:true,message:'必填',trigger:['change','blur']}]" :prop="'familyList.'+$index+'.relation'"
label-width="0"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]"
<el-input clearable placeholder="请输入关系" label-width="0"
v-model="row.relation"></el-input> >
<el-input clearable placeholder="请输入关系" v-model="row.relation"></el-input>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="月收入(元)" prop="monthlyIncome"> <el-table-column label="月收入(元)" prop="monthlyIncome">
<template slot-scope="{row,$index}"> <template slot-scope="{row,$index}">
<el-form-item :prop="'familyList.'+$index+'.monthlyIncome'" <el-form-item
:rules="[{required:true,message:'必填',trigger:['change','blur']}]" :prop="'familyList.'+$index+'.monthlyIncome'"
label-width="0"> :rules="[{required:true,message:'必填',trigger:['change','blur']}]"
<el-input-number :min="0" label-width="0"
:step="1" >
clearable placeholder="请输入月收入" <el-input-number
v-model="row.monthlyIncome"></el-input-number> :min="0"
:step="1"
clearable
placeholder="请输入月收入"
v-model="row.monthlyIncome"
></el-input-number>
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" header-align="center" label="操作" <el-table-column align="center" header-align="center" label="操作" width="150px">
width="150px">
<template slot="header" slot-scope="scope"> <template slot="header" slot-scope="scope">
<el-button @click="formData.familyList.push({})" icon="el-icon-plus" <el-button @click="formData.familyList.push({})" icon="el-icon-plus" size="mini" type="primary">添加</el-button>
size="mini"
type="primary">添加
</el-button>
</template> </template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button :disabled="formData.familyList.length==1" <el-button
@click="formData.familyList.splice(scope.$index,1)" :disabled="formData.familyList.length==1"
icon="el-icon-delete" @click="formData.familyList.splice(scope.$index,1)"
size="mini" icon="el-icon-delete"
type="danger"></el-button> size="mini"
type="danger"
></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -206,8 +210,7 @@ layout("/layouts/platform.html"){
<file-upload :files.sync="formData.files" card></file-upload> <file-upload :files.sync="formData.files" card></file-upload>
</el-form-item> </el-form-item>
<el-form-item label="签字" prop="signature"> <el-form-item label="签字" prop="signature">
<sign :is_value_base64="false" :qz.sync="formData.signature" <sign :is_value_base64="false" :qz.sync="formData.signature" prefix="difficult"></sign>
prefix="difficult"></sign>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row justify="end" type="flex"> <el-row justify="end" type="flex">
@@ -219,119 +222,120 @@ layout("/layouts/platform.html"){
<script> <script>
const vue = new Vue({ const vue = new Vue({
el: '#app', el: "#app",
mixins: [initTableMixins], mixins: [initTableMixins],
data() { data() {
return { return {
id: GetQueryString("id"), id: GetQueryString("id"),
formData: { formData: {
mode: "1", mode: "1"
}, },
subsidyStandards: [ subsidyStandards: [
'本人患重症处于康复期、新患重症以外的疾病且自理医疗费在5万元以上、直系亲属患重症:1000-1500元。', "本人患重症处于康复期、新患重症以外的疾病且自理医疗费在5万元以上、直系亲属患重症:1000-1500元。",
'突发事件造成家庭损失较重致生活困难:2000-2500元。', "突发事件造成家庭损失较重致生活困难:2000-2500元。",
'本人新患重症、长病假人员生活困难、家庭人均收入接近无锡市最低生活保障线:3000元。' "本人新患重症、长病假人员生活困难、家庭人均收入接近无锡市最低生活保障线:3000元。"
], ],
formRules: { formRules: {
userName: [{required: true, message: '必填', trigger: ['blur', 'change']}], userName: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
loginName: [{required: true, message: '必填', trigger: ['blur', 'change']}], loginName: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
sex: [{required: true, message: '必填', trigger: ['blur', 'change']}], sex: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
unitName: [{required: true, message: '必填', trigger: ['blur', 'change']}], unitName: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
unionName: [{required: true, message: '必填', trigger: ['blur', 'change']}], unionName: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
monthlyIncome: [{required: true, message: '必填', trigger: ['blur', 'change']}], monthlyIncome: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
birthday: [{required: true, message: '必填', trigger: ['blur', 'change']}], birthday: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}], mobile: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
homeAddress: [{required: true, message: '必填', trigger: ['blur', 'change']}], homeAddress: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
subsidyStandards: [{ subsidyStandards: [
required: true, {
message: '必填', required: true,
trigger: ['blur', 'change'] message: "必填",
}], trigger: ["blur", "change"]
reason: [{required: true, message: '必填', trigger: ['blur', 'change']}], }
remarks: [{required: false, message: '必填', trigger: ['blur', 'change']}], ],
familyList: [{required: true, message: '必填', trigger: ['blur', 'change']}], reason: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
signature: [{required: true, message: '必填', trigger: ['blur', 'change']}] remarks: [{ required: false, message: "必填", trigger: ["blur", "change"] }],
familyList: [{ required: true, message: "必填", trigger: ["blur", "change"] }],
signature: [{ required: true, message: "必填", trigger: ["blur", "change"] }]
}, },
subsidizedList: [] subsidizedList: []
} }
}, },
methods: { methods: {
querySqr(key) { querySqr(key) {
$.post('/platform/difficulty/apply/querySqr', {key: key}).then(res => { $.post("/platform/difficulty/apply/querySqr", { key: key }).then((res) => {
this.subsidizedList = res.data; this.subsidizedList = res.data
}); })
}, },
async userChange() { async userChange() {
const user = this.subsidizedList.find(item => item.id === this.formData.userId) const user = this.subsidizedList.find((item) => item.id === this.formData.userId)
if (user) { if (user) {
this.$set(this.formData, 'userId', user.id) this.$set(this.formData, "userId", user.id)
this.$set(this.formData, 'userName', user.username) this.$set(this.formData, "userName", user.username)
this.$set(this.formData, 'loginName', user.loginname) this.$set(this.formData, "loginName", user.loginname)
this.$set(this.formData, 'sex', user.sex) this.$set(this.formData, "sex", user.sex)
this.$set(this.formData, 'unitId', user.unitid) this.$set(this.formData, "unitId", user.unitid)
this.$set(this.formData, 'unitName', user.unitname) this.$set(this.formData, "unitName", user.unitname)
this.$set(this.formData, 'unionId', user.unionid) this.$set(this.formData, "unionId", user.unionid)
this.$set(this.formData, 'unionName', user.unionname) this.$set(this.formData, "unionName", user.unionname)
this.$set(this.formData, 'birthday', user.birthday) this.$set(this.formData, "birthday", user.birthday)
this.$set(this.formData, 'mobile', user.mobile) this.$set(this.formData, "mobile", user.mobile)
} else { } else {
this.$set(this.formData, 'userId', null) this.$set(this.formData, "userId", null)
this.$set(this.formData, 'userName', null) this.$set(this.formData, "userName", null)
this.$set(this.formData, 'loginName', null) this.$set(this.formData, "loginName", null)
this.$set(this.formData, 'sex', null) this.$set(this.formData, "sex", null)
this.$set(this.formData, 'unitId', null) this.$set(this.formData, "unitId", null)
this.$set(this.formData, 'unitName', null) this.$set(this.formData, "unitName", null)
this.$set(this.formData, 'unionId', null) this.$set(this.formData, "unionId", null)
this.$set(this.formData, 'unionName', null) this.$set(this.formData, "unionName", null)
this.$set(this.formData, 'birthday', null) this.$set(this.formData, "birthday", null)
this.$set(this.formData, 'mobile', null) this.$set(this.formData, "mobile", null)
} }
}, },
modeChange(val) { modeChange(val) {
const user = JSON.parse(window.sessionStorage.getItem('user')) const user = JSON.parse(window.sessionStorage.getItem("user"))
if (val === "1") { if (val === "1") {
this.$set(this.formData, 'userId', user.id) this.$set(this.formData, "userId", user.id)
this.$set(this.formData, 'userName', user.username) this.$set(this.formData, "userName", user.username)
this.$set(this.formData, 'loginName', user.loginname) this.$set(this.formData, "loginName", user.loginname)
this.$set(this.formData, 'proxyUserId', user.id) this.$set(this.formData, "proxyUserId", user.id)
this.$set(this.formData, 'proxyUserName', user.username) this.$set(this.formData, "proxyUserName", user.username)
this.$set(this.formData, 'proxyLoginName', user.loginname) this.$set(this.formData, "proxyLoginName", user.loginname)
this.$set(this.formData, 'mode', "1") this.$set(this.formData, "mode", "1")
this.$set(this.formData, 'sex', user.sex) this.$set(this.formData, "sex", user.sex)
this.$set(this.formData, 'unitId', user.unit.id) this.$set(this.formData, "unitId", user.unit.id)
this.$set(this.formData, 'unitName', user.unit.name) this.$set(this.formData, "unitName", user.unit.name)
this.$set(this.formData, 'unionId', user.union.id) this.$set(this.formData, "unionId", user.union.id)
this.$set(this.formData, 'unionName', user.union.unionname) this.$set(this.formData, "unionName", user.union.unionname)
this.$set(this.formData, 'monthlyIncome', null) this.$set(this.formData, "monthlyIncome", null)
this.$set(this.formData, 'birthday', user.birthday) this.$set(this.formData, "birthday", user.birthday)
this.$set(this.formData, 'mobile', user.mobile) this.$set(this.formData, "mobile", user.mobile)
this.$set(this.formData, 'homeAddress', user.homeAddress) this.$set(this.formData, "homeAddress", user.homeAddress)
this.$set(this.formData, 'subsidyStandards', null) this.$set(this.formData, "subsidyStandards", null)
this.$set(this.formData, 'reason', null) this.$set(this.formData, "reason", null)
this.$set(this.formData, 'remarks', null) this.$set(this.formData, "remarks", null)
this.$set(this.formData, 'familyList', []) this.$set(this.formData, "familyList", [])
this.$set(this.formData, 'files', []) this.$set(this.formData, "files", [])
this.querySqr(user.loginname) this.querySqr(user.loginname)
} else { } else {
this.formData = {} this.formData = {}
this.$set(this.formData, 'proxyUserId', user.id) this.$set(this.formData, "proxyUserId", user.id)
this.$set(this.formData, 'proxyUserName', user.username) this.$set(this.formData, "proxyUserName", user.username)
this.$set(this.formData, 'proxyLoginName', user.loginname) this.$set(this.formData, "proxyLoginName", user.loginname)
this.$set(this.formData, 'mode', "2") this.$set(this.formData, "mode", "2")
this.$set(this.formData, 'familyList', []) this.$set(this.formData, "familyList", [])
this.$set(this.formData, 'files', []) this.$set(this.formData, "files", [])
} }
}, },
doAdd() { doAdd() {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate((valid) => {
if (valid) { if (valid) {
$.post('/platform/difficulty/apply/doAdd', { $.post("/platform/difficulty/apply/doAdd", {
data: JSON.stringify(this.formData) data: JSON.stringify(this.formData)
}).then(res => { }).then((res) => {
if (res.code === 0) { if (res.code === 0) {
this.$message.success(res.msg) this.$message.success(res.msg)
sublime.jumpPagePjax('/platform/difficulty/applylist') sublime.jumpPagePjax("/platform/difficulty/applylist")
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
} }
@@ -340,31 +344,30 @@ layout("/layouts/platform.html"){
}) })
}, },
doEdit() { doEdit() {
this.$refs.formRef.validate(valid => { this.$refs.formRef.validate((valid) => {
if (valid) { if (valid) {
$.post('/platform/difficulty/apply/doEdit', { $.post("/platform/difficulty/apply/doEdit", {
data: JSON.stringify(this.formData) data: JSON.stringify(this.formData)
}).then(res => { }).then((res) => {
if (res.code === 0) { if (res.code === 0) {
this.$message.success(res.msg) this.$message.success(res.msg)
sublime.jumpPagePjax('/platform/difficulty/applylist') sublime.jumpPagePjax("/platform/difficulty/applylist")
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
} }
}) })
} }
}) })
}, }
}, },
async created() { async created() {
if (this.id) { if (this.id) {
$.get('/platform/difficulty/apply/findOne', {id: this.id}).then(res => { $.get("/platform/difficulty/apply/findOne", { id: this.id }).then((res) => {
if (res.code === 0) { if (res.code === 0) {
this.formData = res.data this.formData = res.data
this.querySqr(res.data.loginName) this.querySqr(res.data.loginName)
} }
}) })
} else { } else {
this.modeChange("1") this.modeChange("1")
} }
@@ -372,7 +375,6 @@ layout("/layouts/platform.html"){
}) })
</script> </script>
<!--# <!--#
} }
#--> #-->
@@ -1,6 +1,6 @@
const info = { const info = {
template:/*language=HTML*/ /*language=HTML*/
` template: `
<div class="applyInfo"> <div class="applyInfo">
<el-tabs tab-position="top" v-model="activeName"> <el-tabs tab-position="top" v-model="activeName">
<el-tab-pane label="申请信息" name="1"> <el-tab-pane label="申请信息" name="1">
@@ -9,9 +9,9 @@
<el-descriptions-item label="申请人姓名">{{ viewData.proxyUserName }}</el-descriptions-item> <el-descriptions-item label="申请人姓名">{{ viewData.proxyUserName }}</el-descriptions-item>
<el-descriptions-item label="申请人工号">{{ viewData.proxyLoginName }}</el-descriptions-item> <el-descriptions-item label="申请人工号">{{ viewData.proxyLoginName }}</el-descriptions-item>
</template> </template>
<el-descriptions-item label="姓名">{{ viewData.userName }}</el-descriptions-item> <el-descriptions-item label="受补助人姓名">{{ viewData.userName }}</el-descriptions-item>
<el-descriptions-item label="工号">{{ viewData.loginName }}</el-descriptions-item> <el-descriptions-item label="受补助人工号">{{ viewData.loginName }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ viewData.sex }}</el-descriptions-item> <el-descriptions-item label="受补助人性别">{{ viewData.sex }}</el-descriptions-item>
<el-descriptions-item label="单位">{{ viewData.unitName }}</el-descriptions-item> <el-descriptions-item label="单位">{{ viewData.unitName }}</el-descriptions-item>
<el-descriptions-item label="分工会">{{ viewData.unionName }}</el-descriptions-item> <el-descriptions-item label="分工会">{{ viewData.unionName }}</el-descriptions-item>
<el-descriptions-item label="月收入">{{ viewData.monthlyIncome }}</el-descriptions-item> <el-descriptions-item label="月收入">{{ viewData.monthlyIncome }}</el-descriptions-item>
@@ -82,7 +82,7 @@
</el-descriptions> </el-descriptions>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="批准部门意见" name="批准部门意见" v-if="viewData.schoolUnionFinalAudit"> <el-tab-pane label="工会常委会审核信息" name="工会常委会审核信息" v-if="viewData.schoolUnionFinalAudit">
<el-descriptions :column="2" border> <el-descriptions :column="2" border>
<el-descriptions-item label="审核人">{{ viewData.schoolUnionFinalAudit.username }}</el-descriptions-item> <el-descriptions-item label="审核人">{{ viewData.schoolUnionFinalAudit.username }}</el-descriptions-item>
<el-descriptions-item label="审核时间">{{ viewData.schoolUnionFinalAudit.auditTime }}</el-descriptions-item> <el-descriptions-item label="审核时间">{{ viewData.schoolUnionFinalAudit.auditTime }}</el-descriptions-item>
@@ -105,19 +105,18 @@
data() { data() {
return { return {
viewData: {}, viewData: {},
activeName: '1' activeName: "1"
} }
}, },
methods: { methods: {
onOpen(id, activeName = '1') { onOpen(id, activeName = "1") {
this.activeName = activeName this.activeName = activeName
$.get('/platform/difficulty/common/findOne', {id}).then(res => { $.get("/platform/difficulty/common/findOne", { id }).then((res) => {
if (res.code === 0) { if (res.code === 0) {
try { try {
res.data.familyList = JSON.parse(res.data.familyList) res.data.familyList = JSON.parse(res.data.familyList)
res.data.files = JSON.parse(res.data.files) res.data.files = JSON.parse(res.data.files)
} catch (e) { } catch (e) {}
}
this.viewData = res.data this.viewData = res.data
console.log(this.viewData) console.log(this.viewData)
} }
@@ -125,12 +124,10 @@
} }
}, },
style: style:
/*language=CSS*/ /*language=CSS*/
` `
.applyInfo .el-descriptions__table{ .applyInfo .el-descriptions__table{
table-layout: fixed; table-layout: fixed;
} }
` `
} }
@@ -6,46 +6,44 @@ layout("/layouts/platform.html"){
<guava ref="guava"> <guava ref="guava">
<template> <template>
<el-card shadow="never"> <el-card shadow="never">
<div class="btn-group tool-button"> <div class="btn-group tool-button">
<div class="block"> <div class="block">
<el-date-picker clearable end-placeholder="结束日期" <el-date-picker
range-separator="-" clearable
start-placeholder="开始日期" end-placeholder="结束日期"
type="daterange" range-separator="-"
v-model="pageForm._dateRange" start-placeholder="开始日期"
value-format="yyyy-MM-dd"> type="daterange"
</el-date-picker> v-model="pageForm._dateRange"
value-format="yyyy-MM-dd"
></el-date-picker>
</div> </div>
</div> </div>
<div class="btn-group tool-button"> <div class="btn-group tool-button">
<el-select @change="flushUnits" @clear="flushUnits" clearable="true" <el-select
filterable="true" @change="flushUnits"
placeholder="所属工会" style="width: 100%;" @clear="flushUnits"
clearable="true"
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh02')||@shiro.hasRole('wyh03')||@shiro.hasRole('H03')}" filterable="true"
placeholder="所属工会"
v-model="pageForm.unionId"> style="width: 100%"
<el-option :label="item.unionname" :value="item.id" v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh02')||@shiro.hasRole('wyh03')||@shiro.hasRole('H03')}"
v-for="item in unions"></el-option> v-model="pageForm.unionId"
>
<el-option :label="item.unionname" :value="item.id" v-for="item in unions"></el-option>
</el-select> </el-select>
</div> </div>
<div class="btn-group tool-button"> <div class="btn-group tool-button">
<el-select clearable="true" filterable="true" placeholder="所属单位" <el-select clearable="true" filterable="true" placeholder="所属单位" style="width: 100%" v-model="pageForm.unitId">
style="width: 100%;" <el-option :label="item.name" :value="item.id" v-for="item in units"></el-option>
v-model="pageForm.unitId">
<el-option :label="item.name" :value="item.id"
v-for="item in units"></el-option>
</el-select> </el-select>
</div> </div>
<div class="btn-group tool-button"> <div class="btn-group tool-button">
<div> <div>
<el-input placeholder="请输入内容" v-model="pageForm.searchKeyword"> <el-input placeholder="请输入内容" v-model="pageForm.searchKeyword">
<el-select placeholder="查询类型" slot="prepend" <el-select placeholder="查询类型" slot="prepend" style="width: 100px" v-model="pageForm.searchName">
style="width: 100px;"
v-model="pageForm.searchName">
<el-option label="工号" value="info.loginName"></el-option> <el-option label="工号" value="info.loginName"></el-option>
<el-option label="姓名" value="info.userName"></el-option> <el-option label="姓名" value="info.userName"></el-option>
</el-select> </el-select>
@@ -56,40 +54,31 @@ layout("/layouts/platform.html"){
<el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button> <el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button>
</div> </div>
<div class="pull-right offscreen-right"> <div class="pull-right offscreen-right">
<el-button @click="doExcel" type="primary"><i class="el-icon-download"></i> 导出 <el-button @click="doExcel" type="primary">
<i class="el-icon-download"></i>
导出
</el-button> </el-button>
</div> </div>
</el-card> </el-card>
<el-card class="mt20" shadow="never"> <el-card class="mt20" shadow="never">
<el-table <el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
:data="tableData"
@sort-change="pageOrder"
style="width: 100%"
>
<el-table-column align="center" header-align="center" label="序号" type="index"> <el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope"> <template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span> <span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" header-align="center" label="姓名" <el-table-column align="center" header-align="center" label="姓名" prop="userName"></el-table-column>
prop="userName"></el-table-column> <el-table-column align="center" header-align="center" label="工号" prop="loginName"></el-table-column>
<el-table-column align="center" header-align="center" label="工号" <el-table-column align="center" header-align="center" label="单位" prop="unitName"></el-table-column>
prop="loginName"></el-table-column> <el-table-column align="center" header-align="center" label="工会" prop="unionName"></el-table-column>
<el-table-column align="center" header-align="center" label="单位" <el-table-column align="center" header-align="center" label="申请时间" prop="applyTime"></el-table-column>
prop="unitName"></el-table-column> <el-table-column align="center" header-align="center" label="联系方式" prop="mobile"></el-table-column>
<el-table-column align="center" header-align="center" label="工会" <el-table-column align="center" header-align="center" label="申请状态" prop="state_name"></el-table-column>
prop="unionName"></el-table-column> <el-table-column align="center" fixed="right" header-align="center" label="操作" width="120px">
<el-table-column align="center" header-align="center" label="申请时间"
prop="applyTime"></el-table-column>
<el-table-column align="center" header-align="center" label="联系方式"
prop="mobile"></el-table-column>
<el-table-column align="center" header-align="center" label="申请状态"
prop="state_name"></el-table-column>
<el-table-column align="center" fixed="right" header-align="center" label="操作"
width="120px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-dropdown @command="dropdownCommand"> <el-button size="mini" @click="openView(row)">查看</el-button>
<!--<el-dropdown @command="dropdownCommand">
<el-button plain size="mini"> <el-button plain size="mini">
<i class="ti-settings"></i> <i class="ti-settings"></i>
<span class="ti-angle-down"></span> <span class="ti-angle-down"></span>
@@ -98,10 +87,10 @@ layout("/layouts/platform.html"){
<el-dropdown-item :command="{type:'view',data:row}"> <el-dropdown-item :command="{type:'view',data:row}">
查看 查看
</el-dropdown-item> </el-dropdown-item>
<!-- <el-dropdown-item &lt;!&ndash; <el-dropdown-item
:command="{type:'downloadAnnex',data:row}"> :command="{type:'downloadAnnex',data:row}">
下载 下载
</el-dropdown-item>--> </el-dropdown-item>&ndash;&gt;
<el-dropdown-item :command="{type:'export',data:row}" <el-dropdown-item :command="{type:'export',data:row}"
:disabled="row.stateId!==3090"> :disabled="row.stateId!==3090">
导出申请表 导出申请表
@@ -111,20 +100,17 @@ layout("/layouts/platform.html"){
导出领取通知单 导出领取通知单
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--#include("/layouts/pagination.html"){}#--> <!--#include("/layouts/pagination.html"){}#-->
</el-card> </el-card>
</template> </template>
<template #view> <template #view>
<info ref="viewInfoRef"></info> <info ref="viewInfoRef"></info>
</template> </template>
</guava> </guava>
</div> </div>
@@ -132,7 +118,7 @@ layout("/layouts/platform.html"){
<!--#include('./common/info.js'){}#--> <!--#include('./common/info.js'){}#-->
const vue = new Vue({ const vue = new Vue({
el: '#app', el: "#app",
mixins: [initTableMixins], mixins: [initTableMixins],
components: { components: {
info info
@@ -142,13 +128,13 @@ layout("/layouts/platform.html"){
unions: [], unions: [],
units: [], units: [],
pageForm: { pageForm: {
unitId: '', unitId: "",
unionId: '', unionId: "",
unit: "", unit: "",
year: "", year: "",
searchName: "info.loginName" searchName: "info.loginName"
}, },
unitOptions: [], unitOptions: []
} }
}, },
methods: { methods: {
@@ -165,14 +151,14 @@ layout("/layouts/platform.html"){
this.pageData() this.pageData()
}, },
dropdownCommand(command) { dropdownCommand(command) {
const {type, data} = command const { type, data } = command
if (type == 'view') { if (type == "view") {
this.openView(data) this.openView(data)
} else if (type == 'downloadAnnex') { } else if (type == "downloadAnnex") {
window.location.href = "/platform/difficulty/reading/downloadAnnex?id=" + data.id window.location.href = "/platform/difficulty/reading/downloadAnnex?id=" + data.id
} else if (type == 'doExport') { } else if (type == "doExport") {
window.location.href = "/platform/difficulty/reading/doExport?id=" + data.id window.location.href = "/platform/difficulty/reading/doExport?id=" + data.id
} else if (type == 'export') { } else if (type == "export") {
window.location.href = "/platform/difficulty/reading/export?id=" + data.id window.location.href = "/platform/difficulty/reading/export?id=" + data.id
} }
}, },
@@ -181,34 +167,33 @@ layout("/layouts/platform.html"){
this.$refs.viewInfoRef.onOpen(row.id) this.$refs.viewInfoRef.onOpen(row.id)
}, },
doExcel() { doExcel() {
const {unionId, unitId, _dateRange} = this.pageForm const { unionId, unitId, _dateRange } = this.pageForm
window.open("/platform/difficulty/reading/doExcel?dateRange=" + JSON.stringify(_dateRange) window.open(
+ "&unionId=" + unionId + "&unitId=" + unitId) "/platform/difficulty/reading/doExcel?dateRange=" + JSON.stringify(_dateRange) + "&unionId=" + unionId + "&unitId=" + unitId
)
}, },
doWholeExcel() { doWholeExcel() {
window.open("/platform/difficulty/reading/doWholeExcel?dateRange=" + JSON.stringify(_dateRange) window.open(
+ "&unionId=" + unionId "/platform/difficulty/reading/doWholeExcel?dateRange=" + JSON.stringify(_dateRange) + "&unionId=" + unionId + "&unitId=" + unitId
+ "&unitId=" + unitId) )
}, },
async flushUnits() { async flushUnits() {
this.$set(this.pageForm, "unitId", "") this.$set(this.pageForm, "unitId", "")
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === 'true') { if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')}" === "true") {
this.units = await getUnits(this.pageForm.unionId) this.units = await getUnits(this.pageForm.unionId)
} else { } else {
this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}") this.units = await getUnits("${@shiro.getPrincipalProperty('unit').getUnionid()}")
} }
}, }
}, },
async created() { async created() {
this.pageData() this.pageData()
this.unions = await getUnions() this.unions = await getUnions()
this.flushUnits() this.flushUnits()
} }
}) })
</script> </script>
<!--# <!--#
} }
#--> #-->