first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,257 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
工会会计审核
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=300"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="工会会计审核" :panes="[2,3]">
<template #handle>
<el-form :model="formData" ref="form" :rules="formRules" label-position="right"
style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="typename" label="疾病类型">
<el-input v-model="formData.typeName" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="total_grant" label="补助金额">
<el-input-number style="width: 100%" v-model="formData.total_grant"
placeholder="请填写补助金额" controls-position="right" precision="2"
:min="0"
:max="1000000000"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: '3'
},
formRules: {
total_grant: [{required: true, message: '请填写补助金额', trigger: ['blur', 'change']}],
},
subDis: false,
subLoading1: false,
subLoading2: false,
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
this.$refs["form"].validate(async (valid) => {
if (valid) {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
}
})
},
async openReview(row) {
const {id} = row
this.$set(row, "reviewLoading", true)
const {data} = await $.get(location.href + "/getTotalGrant", {id})
let special_clinic_self_pay = data > 200 ? data : 200
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
typeName: row.typeName,
idea: '按照学校《教职工病伤医疗互助基金实施办法》规定,本次共补助金额为:\n' + capitalAmount(special_clinic_self_pay.toFixed(0)) + '' + special_clinic_self_pay.toFixed(2) + ')。',
sign: '',
total_grant: data
}
this.$set(row, "reviewLoading", false)
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,258 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
财务出纳
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="列表" :app="this">
<template #label_end>
<span class="text-danger">(温馨提醒:请先选择记录,后进行财务出纳审核)</span>
</template>
<template #func>
<span class="text-primary">是否重大疾病:</span>
<el-radio-group v-model="pageForm.isDisease" size="small" class="mr10" @change="doSearch">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
</el-radio-group>
<el-button type="primary" size="small" icon="el-icon-download" @click="doExport">导出名单
</el-button>
<el-button type="primary" size="small" slot="reference" icon="el-icon-position"
:disabled="!multipleSelection.length"
@click="openReview">财务出纳
</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table"
@selection-change="handleSelectionChange">
<el-table-column type="selection" reserve-selection width="55" align="center"></el-table-column>
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
<template v-else-if="column.prop==='total_grant'" scope="{row:{total_grant}}">
<i>{{total_grant.toFixed(2)}}</i>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="付款信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="付款人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="付款时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="意&emsp;&emsp;见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button type="primary" @click="doReview" :loading="subLoading">
提 交
</el-button>
</div>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: [
{prop: 'loginname', label: '工号', sortable: true},
{prop: 'user_name', label: '姓名', sortable: true},
{prop: 'unit_name', label: '所属部门', sortable: true},
{prop: 'apply_time', label: '申请时间', sortable: true},
{prop: 'disease_diagnosis', label: '疾病诊断'},
{prop: 'typeName', label: '疾病类型'},
{prop: 'type', label: '补助类型', sortable: true},
{prop: 'bank_name', label: '银行名称', sortable: true},
{prop: 'bank_account', label: '银行卡号', sortable: true},
{prop: 'total_grant', label: '补助金额', sortable: true},
{prop: 'state_id', label: '申请状态', sortable: true},
],
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
},
formRules: {},
subLoading: false,
multipleSelection: [],
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
async doReview() {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.subLoading = true
this.formData.ids = JSON.stringify(this.formData.ids)
this.formData.ordinaryList = JSON.stringify(this.formData.ordinaryList)
this.formData.majorList = JSON.stringify(this.formData.majorList)
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, (v) => {
this.$refs.table.clearSelection();
this.pageData()
this.$refs.guava.index()
}, null, (v) => {
this.subLoading = false
})
}).catch(() => {
});
},
async openReview() {
//重大疾病
let majorList = this.multipleSelection.filter(v => v.disease_type_code !== 'A' && v.type === 1)
majorList.forEach(a => {
a.apply_time = moment(a.apply_time).format('YYYY')
})
//常规疾病
let ordinaryList = this.multipleSelection.filter(v => v.disease_type_code === 'A' && v.type === 1)
ordinaryList.forEach(a => {
a.apply_time = moment(a.apply_time).format('YYYY')
})
this.formData = {
ids: this.multipleSelection.map(v => v.id),
ordinaryList: ordinaryList,
majorList: majorList,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
sign: '',
}
this.$refs.guava.edit()
},
handleSelectionChange(val) {
this.multipleSelection = val;
}
,
doExport() {
location.href = location.href + "/doExport"
}
,
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
}
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,334 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
工会主席审批
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
<el-button size="small" type="primary" class="ml10" v-if="pageForm.audit===3"
@click="openBatchAudit">批量审核
</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column type="selection" align="center"
:selectable="(row)=>{return row.state_id===500}"></el-table-column>
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=500"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="工会主席审批" :panes="[2,3,4,5]">
<template #handle>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审批信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审批人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审批时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="typeName" label="疾病类型">
<el-input v-model="formData.typeName" disabled></el-input>
</el-form-item>
<el-form-item prop="idea" label="审批意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
<el-dialog title="批量审核" :visible.sync="batchAuditDialogVisible" width="60%" :close-on-click-modal="false">
<el-table :data="batchTableData" max-height="500px">
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
</el-table>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="doBatchAudit(false)" type="danger" v-throttle>批量拒绝</el-button>
<el-button @click="doBatchAudit(true)" type="primary" v-throttle>批量通过</el-button>
</span>
</el-dialog>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: 3
},
formRules: {},
subDis: false,
subLoading1: false,
subLoading2: false,
batchTableData: [],
batchAuditDialogVisible: false
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
},
async openReview(row) {
const {id} = row
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
typeName: row.typeName,
idea: '',
sign: '',
}
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
openBatchAudit() {
const selection = this.$refs.table.selection
if (selection.length === 0) {
this.notifyWarning('请先勾选需要审核的记录')
return
}
this.batchTableData = selection
this.batchAuditDialogVisible = true
this.formData = {
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
},
async doBatchAudit(v) {
if (this.formData.idea === '') {
this.notifyWarning('请填写审核意见')
return
}
const confirm = await this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if ('confirm' !== confirm) return
const ids = this.batchTableData.map(v => v.id)
const resp = await $.post(location.href + "/doBatchReview", {
ids: JSON.stringify(ids),
...this.formData,
flag: v
})
if (resp.code === 0) {
this.notifySuccess(resp.msg)
this.pageData()
this.batchAuditDialogVisible = false
} else {
this.notifyWarning(resp.msg)
}
}
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,315 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
综合门诊部审核
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
.el-checkbox__label {
color: red;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=200"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
<!--# if(@shiro.hasRole('sysadmin')){ #-->
<el-dropdown-item v-if="row.state_id>200"
:command="{action:openEdit,value:row}">
修改
</el-dropdown-item>
<!--# } #-->
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="综合门诊部审核" :panes="[2]">
<template #handle>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="140px" :rules="formRules">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="code" label="是否属于重大疾病">
<el-select v-model="formData.code" placeholder="请选择是否属于重大疾病" style="width: 100%">
<el-option
v-for="item in diseaseTypeList"
:key="item.typeCode"
:label="item.typeName"
:value="item.typeCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
<el-form-item prop="checked" label="">
<el-checkbox v-model="formData.checked">
已仔细核对《附件》页各项申请材料
</el-checkbox>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
</guava>
<el-dialog :visible.sync="editMedicalTypeDialog" title="修改疾病类型" width="30%">
<el-select v-model="editMedicalTypeFormData.code" placeholder="请选择是否属于重大疾病" style="width: 100%">
<el-option
v-for="item in diseaseTypeList"
:key="item.typeCode"
:label="item.typeName"
:value="item.typeCode">
</el-option>
</el-select>
<el-row class="text-right mt15">
<el-button @click="editMedicalTypeDialog=false">取消</el-button>
<el-button @click="doEdit" type="primary">确定</el-button>
</el-row>
</el-dialog>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
diseaseTypeList: [],
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: '3'
},
subDis: false,
subLoading1: false,
subLoading2: false,
formRules: {code: [{required: true, message: '请选择是否属于重大疾病', trigger: ['blur', 'change']}],},
editMedicalTypeDialog: false,
editMedicalTypeFormData: {
code: '',
id: ''
}
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
const valid = await this.$refs['form'].validate()
if(!valid)return
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
if (!this.formData.checked) {
this.$message({
message: '请确认已仔细核对《附件》页各项申请材料',
type: 'warning'
});
return
}
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
},
async openReview(row) {
const {id} = row
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
checked: false
}
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
openEdit(row) {
console.log(row)
this.editMedicalTypeDialog = true
this.editMedicalTypeFormData.code = row.disease_type_code
this.editMedicalTypeFormData.id = row.id
},
doEdit() {
this.$confirm('您确定要修改吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const data = await $.post(loc() + '/doEditByAdmin', this.editMedicalTypeFormData)
if (data.code === 0) {
this.$message.success(data.msg)
this.editMedicalTypeDialog = false
this.pageData()
}
}).catch(() => {
})
},
async findAllDiseaseType() {
const {data} = await $.get("/platform/fw/medicalAid/disease/type/findAll")
return data;
}
},
async created() {
this.pageData();
this.diseaseTypeList = await this.findAllDiseaseType()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,330 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
离退休干部处审核
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" :has_union="false" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
<el-button size="small" type="primary" class="ml10" v-if="pageForm.audit===3"
@click="openBatchAudit">批量审核
</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column type="selection" align="center"
:selectable="(row)=>{return row.state_id===155}"></el-table-column>
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=155"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="离退休干部处审核">
<template #handle>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
<el-dialog title="批量审核" :visible.sync="batchAuditDialogVisible" width="60%" :close-on-click-modal="false">
<el-table :data="batchTableData" max-height="500px">
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
</el-table>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="doBatchAudit(false)" type="danger" v-throttle>批量拒绝</el-button>
<el-button @click="doBatchAudit(true)" type="primary" v-throttle>批量通过</el-button>
</span>
</el-dialog>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: 3
},
formRules: {},
subDis: false,
subLoading1: false,
subLoading2: false,
batchTableData: [],
batchAuditDialogVisible: false
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
},
async openReview(row) {
const {id} = row
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
openBatchAudit() {
const selection = this.$refs.table.selection
if (selection.length === 0) {
this.notifyWarning('请先勾选需要审核的记录')
return
}
this.batchTableData = selection
this.batchAuditDialogVisible = true
this.formData = {
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
},
async doBatchAudit(v) {
if (this.formData.idea === '') {
this.notifyWarning('请填写审核意见')
return
}
const confirm = await this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if ('confirm' !== confirm) return
const ids = this.batchTableData.map(v => v.id)
const resp = await $.post(location.href + "/doBatchReview", {
ids: JSON.stringify(ids),
...this.formData,
flag: v
})
if (resp.code === 0) {
this.notifySuccess(resp.msg)
this.pageData()
this.batchAuditDialogVisible = false
} else {
this.notifyWarning(resp.msg)
}
}
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,329 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
基层工会主席审核
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" :has_union="false" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
<el-button size="small" type="primary" class="ml10" v-if="pageForm.audit===3"
@click="openBatchAudit">批量审核
</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column type="selection" align="center"
:selectable="(row)=>{return row.state_id===100}"></el-table-column>
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=100"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="基层工会主席审核">
<template #handle>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
<el-dialog title="批量审核" :visible.sync="batchAuditDialogVisible" width="60%" :close-on-click-modal="false">
<el-table :data="batchTableData" max-height="500px">
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
</el-table>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="doBatchAudit(false)" type="danger" v-throttle>批量拒绝</el-button>
<el-button @click="doBatchAudit(true)" type="primary" v-throttle>批量通过</el-button>
</span>
</el-dialog>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: 3
},
formRules: {},
subDis: false,
subLoading1: false,
subLoading2: false,
batchTableData: [],
batchAuditDialogVisible: false
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
},
async openReview(row) {
const {id} = row
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
openBatchAudit() {
const selection = this.$refs.table.selection
if (selection.length === 0) {
this.notifyWarning('请先勾选需要审核的记录')
return
}
this.batchTableData = selection
this.batchAuditDialogVisible = true
this.formData = {
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
},
async doBatchAudit(v) {
if (this.formData.idea === '') {
this.notifyWarning('请填写审核意见')
return
}
const confirm = await this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if ('confirm' !== confirm) return
const ids = this.batchTableData.map(v => v.id)
const resp = await $.post(location.href + "/doBatchReview", {
ids: JSON.stringify(ids),
...this.formData,
flag: v
})
if (resp.code === 0) {
this.notifySuccess(resp.msg)
this.pageData()
this.batchAuditDialogVisible = false
} else {
this.notifyWarning(resp.msg)
}
}
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,333 @@
<!--#
layout("/layouts/platform.html"){
#-->
<!--
工会副主席审核
-->
<style>
input[type="file"] {
display: none
}
.el-input-number input {
text-align: left !important;
}
.el-input-number__decrease, .el-input-number__increase {
display: none;
}
</style>
<div id="app" v-cloak>
<guava ref="guava" class="platform" padding="0% 5%">
<template>
<search :page_form.sync="pageForm" :has_type="true" @search="doSearch"></search>
<el-card shadow="never" class="mt10">
<table-tool label="审核列表" :app="this">
<template #func>
<el-radio-group v-model="pageForm.audit" @change="doSearch" size="small">
<el-radio-button :label="1">全部</el-radio-button>
<el-radio-button :label="2">已审核</el-radio-button>
<el-radio-button :label="3">未审核</el-radio-button>
</el-radio-group>
<el-button size="small" type="primary" class="ml10" v-if="pageForm.audit===3"
@click="openBatchAudit">批量审核
</el-button>
</template>
</table-tool>
<el-table :data="tableData" style="width: 100%" row-key="id" @sort-change="pageOrder" :size="tableSize"
v-loading="tableLoading" ref="table" class="vi-table">
<el-table-column type="selection" align="center"
:selectable="(row)=>{return row.state_id===400}"></el-table-column>
<el-table-column align="center" header-align="center" type="index" :index="indexMethod" label="序号"
width="80px"></el-table-column>
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
<el-table-column prop="userOnline" align="center" header-align="center" label="操作" fixed="right">
<template scope="{row}">
<el-dropdown @command="dropdownCommand">
<el-button plain size="mini">
<i class="ti-settings"></i>
<span class="ti-angle-down"></span>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="{action:openView,value:row}">
查看
</el-dropdown-item>
<el-dropdown-item :disabled="row.state_id!=400"
:command="{action:openReview,value:row}">
审核
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</template>
<template #edit>
<medical-aid-info ref="med_info2" :handle="true" label="工会副主席审核" :panes="[2,3,4]">
<template #handle>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="typename" label="疾病类型">
<el-input v-model="formData.typeName" disabled></el-input>
</el-form-item>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<div style="float: right;margin: 20px 0">
<el-button @click="doReview(false)" :disabled="subDis" :loading="subLoading1">
</el-button>
<el-button type="primary" @click="doReview(true)" :disabled="subDis" :loading="subLoading2">
</el-button>
</div>
</template>
</medical-aid-info>
</template>
<template #view>
<medical-aid-info ref="med_info"></medical-aid-info>
</template>
<el-dialog title="批量审核" :visible.sync="batchAuditDialogVisible" width="60%" :close-on-click-modal="false">
<el-table :data="batchTableData" max-height="500px">
<el-table-column
align="center"
header-align="center"
v-for="column in tableColumns"
show-overflow-tooltip
:sortable="column.sortable"
:label="column.label"
:prop="column.prop" :width="column.width" min-width="100px">
<template v-if="column.prop==='state_id'" scope="{row}">
<span :style="'color:'+row.state_color">{{row.state_name}}</span>
</template>
<template v-else-if="column.prop==='type'" scope="{row:{type}}">
<div v-html="medicalAid.elementType(type)"></div>
</template>
</el-table-column>
</el-table>
<el-form :model="formData" ref="form" label-position="right" style="padding: 20px 0"
label-width="120px">
<el-form-item label="审核信息&emsp;" label-width="135px" class="view-header">
</el-form-item>
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="username" label="审核人员">
<el-input v-model="formData.username"
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="time" label="审核时间">
<el-input v-model="formData.time" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item prop="idea" label="审核意见">
<el-input type="textarea" v-model="formData.idea" rows="4" maxlength="500"
placeholder="请填写您的审核意见"></el-input>
</el-form-item>
<el-form-item prop="sign" label="签&emsp;&emsp;字">
<sign prefix="medicalAid" :qz.sync="formData.sign"></sign>
</el-form-item>
</el-form>
<span slot="footer">
<el-button @click="doBatchAudit(false)" type="danger" v-throttle>批量拒绝</el-button>
<el-button @click="doBatchAudit(true)" type="primary" v-throttle>批量通过</el-button>
</span>
</el-dialog>
</guava>
</div>
<script>
<!--#include("/platform/diseaseaid/common/Medical.js"){}#-->
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
tableColumns: commonColumns,
addDialogVisible: false,
editDialogVisible: false,
tabLoading: false,
formData: {},
tableData: [],
pageForm: {
searchName: "username",
year: new Date().getFullYear() + "",
audit: 3
},
formRules: {},
subDis: false,
subLoading1: false,
subLoading2: false,
batchTableData: [],
batchAuditDialogVisible: false
}
},
components: {
'search': httpVueLoader('/components/medicalaid/MedicalAidSearch.vue?v=1.0.1'),
'guava': httpVueLoader('/components/plugins/Guava.vue'),
'medical-aid-info': httpVueLoader('/components/medicalaid/MedicalAidInfo.vue?v=1.0.1'),
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0')
},
methods: {
openView(row) {
const {id} = row
this.$refs.med_info.getInfo(id)
this.$refs.guava.view()
},
async doReview(flag) {
this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.formData.flag = flag
this.subDis = true
flag ? this.subLoading2 = true : this.subLoading1 = true
const resp = await $.post(location.href + "/doReview", this.formData)
requestLaterMsgFun(vue, resp, null, null, (v) => {
this.subDis = false
this.subLoading1 = false
this.subLoading2 = false
this.pageData()
this.$refs.guava.index()
})
}).catch(() => {
});
},
async openReview(row) {
const {id} = row
this.formData = {
id,
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
typeName: row.typeName,
idea: '',
sign: '',
}
this.$refs.med_info2.getInfo(id)
this.$refs.guava.edit()
},
openBatchAudit() {
const selection = this.$refs.table.selection
if (selection.length === 0) {
this.notifyWarning('请先勾选需要审核的记录')
return
}
this.batchTableData = selection
this.batchAuditDialogVisible = true
this.formData = {
username: "${@shiro.getPrincipalProperty('username')}",
time: moment().format('YYYY-MM-DD'),
idea: '',
sign: '',
}
},
async doBatchAudit(v) {
if (this.formData.idea === '') {
this.notifyWarning('请填写审核意见')
return
}
const confirm = await this.$confirm('是否确定提交?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
if ('confirm' !== confirm) return
const ids = this.batchTableData.map(v => v.id)
const resp = await $.post(location.href + "/doBatchReview", {
ids: JSON.stringify(ids),
...this.formData,
flag: v
})
if (resp.code === 0) {
this.notifySuccess(resp.msg)
this.pageData()
this.batchAuditDialogVisible = false
} else {
this.notifyWarning(resp.msg)
}
}
},
async created() {
this.pageData();
}
})
</script>
<!--#
}
#-->