Browse Source

fix:[麻精药表单][申请单管理]

master
15881625488@163.com 5 days ago
parent
commit
18e0097422
8 changed files with 340 additions and 38 deletions
  1. +14
    -13
      src/api/business/study/studyFormApply.js
  2. +2
    -0
      src/lang/en/business/study/studyFormApply.js
  3. +2
    -0
      src/lang/zh/business/study/studyFormApply.js
  4. +25
    -6
      src/views/business/form/drug/comp/sqbdList.vue
  5. +37
    -5
      src/views/business/study/comp/sqbd/Bj.vue
  6. +2
    -14
      src/views/business/study/comp/sqbd/Fh.vue
  7. +257
    -0
      src/views/business/study/comp/sqbd/Sh.vue
  8. +1
    -0
      src/views/business/study/comp/ytbdList.vue

+ 14
- 13
src/api/business/study/studyFormApply.js View File

@ -87,16 +87,6 @@ export function studyFormApply_tj(data) {
data: data data: data
}) })
} }
//观察
export function studyFormApply_gc(data) {
return request({
url: '/system/business/studyFormApply/gc',
method: 'post',
data: data
})
}
//复核通过 //复核通过
export function studyFormApply_fhtg(data) { export function studyFormApply_fhtg(data) {
return request({ return request({
@ -115,15 +105,26 @@ export function studyFormApply_fhjj(data) {
}) })
} }
//通过
export function studyFormApply_tg(data) {
//审核通过
export function studyFormApply_shtg(data) {
return request({ return request({
url: '/system/business/studyFormApply/tg',
url: '/system/business/studyFormApply/shtg',
method: 'post', method: 'post',
data: data data: data
}) })
} }
//审核拒绝
export function studyFormApply_shjj(data) {
return request({
url: '/system/business/studyFormApply/shjj',
method: 'post',
data: data
})
}
//审阅 //审阅
export function studyFormApply_sy(data) { export function studyFormApply_sy(data) {
return request({ return request({

+ 2
- 0
src/lang/en/business/study/studyFormApply.js View File

@ -53,5 +53,7 @@ shenyue:'Review',
fhjj:'复核拒绝', fhjj:'复核拒绝',
fhtg:'复核通过', fhtg:'复核通过',
shjj:'审核拒绝',
shtg:'审核通过',
tongguo:'Approve', tongguo:'Approve',
} }

+ 2
- 0
src/lang/zh/business/study/studyFormApply.js View File

@ -53,6 +53,8 @@ rybg:'人员变更',
shenyue:'审阅', shenyue:'审阅',
fhjj:'复核拒绝', fhjj:'复核拒绝',
fhtg:'复核通过', fhtg:'复核通过',
shjj:'审核拒绝',
shtg:'审核通过',
tongguo:'通过', tongguo:'通过',
} }

+ 25
- 6
src/views/business/form/drug/comp/sqbdList.vue View File

@ -84,8 +84,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.bdzt === 1">{{ $t('page.business.study.studyFormApply.tbz') }}</span> <span v-if="scope.row.bdzt === 1">{{ $t('page.business.study.studyFormApply.tbz') }}</span>
<span v-if="scope.row.bdzt === 3">{{ $t('page.business.study.studyFormApply.ytj') }}</span> <span v-if="scope.row.bdzt === 3">{{ $t('page.business.study.studyFormApply.ytj') }}</span>
<span v-if="scope.row.bdzt === 5">{{ $t('page.business.study.studyFormApply.ywc') }}</span>
<span v-if="scope.row.bdzt === 7">{{ $t('page.business.study.studyFormApply.ywcfh') }}</span>
<span v-if="scope.row.bdzt === 5">{{ $t('page.business.study.studyFormApply.yfh') }}</span>
<span v-if="scope.row.bdzt === 6">{{ $t('page.business.study.studyFormApply.wtg') }}</span>
<span v-if="scope.row.bdzt === 7">{{ $t('page.business.study.studyFormApply.ywc') }}</span>
<span v-if="scope.row.bdzt === 9">{{ $t('page.business.study.studyFormApply.dfz') }}</span> <span v-if="scope.row.bdzt === 9">{{ $t('page.business.study.studyFormApply.dfz') }}</span>
<span v-if="scope.row.bdzt === 11">{{ $t('page.business.study.studyFormApply.yfz') }}</span> <span v-if="scope.row.bdzt === 11">{{ $t('page.business.study.studyFormApply.yfz') }}</span>
</template> </template>
@ -100,12 +101,12 @@
<el-table-column :label="$t('page.business.form.tjsj')" align="center" prop="tjsj" width="140" /> <el-table-column :label="$t('page.business.form.tjsj')" align="center" prop="tjsj" width="140" />
<el-table-column :label="$t('form.operate')" align="left" fixed="right" width="200"> <el-table-column :label="$t('form.operate')" align="left" fixed="right" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 表单状态1填报中3已提交5完成经复核7已完成9待废止11已废止 -->
<!-- 表单状态1填报中3已提交5复核6未通过7已完成9待废止11已废止 -->
<!-- 详情 --> <!-- 详情 -->
<el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:drugFormApply:xq']">{{ <el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:drugFormApply:xq']">{{
$t('form.detail') }}</el-button> $t('form.detail') }}</el-button>
<!-- 编辑 --> <!-- 编辑 -->
<el-button type="text" v-if="scope.row.bdzt === 1 || scope.row.bdzt === 5 || scope.row.bdzt === 7"
<el-button type="text" v-if="scope.row.bdzt === 1 || scope.row.bdzt === 6 || scope.row.bdzt === 7"
@click="edit(scope.row)" v-hasPermi="['business:drugFormApply:bj']">{{ @click="edit(scope.row)" v-hasPermi="['business:drugFormApply:bj']">{{
$t('form.edit') }}</el-button> $t('form.edit') }}</el-button>
<!-- 复核 --> <!-- 复核 -->
@ -122,7 +123,11 @@
@click="ghgsr(scope.row)" v-hasPermi="['business:drugFormApply:ghgsr']">{{ @click="ghgsr(scope.row)" v-hasPermi="['business:drugFormApply:ghgsr']">{{
$t('page.business.study.studyFormApply.ghgsr') }}</el-button> $t('page.business.study.studyFormApply.ghgsr') }}</el-button>
<!-- 审阅 --> <!-- 审阅 -->
<el-button type="text" v-if="scope.row.bdzt === 5 || scope.row.bdzt === 7" @click="sy(scope.row)"
<el-button type="text" v-if="scope.row.bdzt === 7" @click="sy(scope.row)"
v-hasPermi="['business:drugFormApply:sy']">{{
$t('page.business.study.studyFormApply.sy') }}</el-button>
<!-- 审核 -->
<el-button type="text" v-if="scope.row.bdzt === 5" @click="sh(scope.row)"
v-hasPermi="['business:drugFormApply:sy']">{{ v-hasPermi="['business:drugFormApply:sy']">{{
$t('page.business.study.studyFormApply.sy') }}</el-button> $t('page.business.study.studyFormApply.sy') }}</el-button>
<!-- 废止 --> <!-- 废止 -->
@ -149,6 +154,8 @@
<Sy v-show="showAudit" key="Sy" ref="Sy" @close="syClose" /> <Sy v-show="showAudit" key="Sy" ref="Sy" @close="syClose" />
<!-- 复核 --> <!-- 复核 -->
<Fh v-show="showFh" key="Fh" ref="Fh" @close="fhClose" /> <Fh v-show="showFh" key="Fh" ref="Fh" @close="fhClose" />
<!-- 审核 -->
<Sh v-show="showSh" key="Sh" ref="Sh" @close="shClose" />
<!-- 废止 --> <!-- 废止 -->
<Fz key="Fz" ref="Fz" @callback="search" /> <Fz key="Fz" ref="Fz" @callback="search" />
<!-- 确认废止 --> <!-- 确认废止 -->
@ -169,6 +176,7 @@ import Xq from "@/views/business/study/comp/sqbd/Xq";
import Sy from "@/views/business/study/comp/sqbd/Sy"; import Sy from "@/views/business/study/comp/sqbd/Sy";
import Fz from "@/views/business/study/comp/sqbd/Fz"; import Fz from "@/views/business/study/comp/sqbd/Fz";
import Fh from "@/views/business/study/comp/sqbd/Fh"; import Fh from "@/views/business/study/comp/sqbd/Fh";
import Sh from "@/views/business/study/comp/sqbd/Sh";
import Qrfz from "@/views/business/study/comp/sqbd/Qrfz"; import Qrfz from "@/views/business/study/comp/sqbd/Qrfz";
import Jq from "@/views/business/study/comp/sqbd/Jq"; import Jq from "@/views/business/study/comp/sqbd/Jq";
import Ghgsr from "@/views/business/study/comp/sqbd/Ghgsr"; import Ghgsr from "@/views/business/study/comp/sqbd/Ghgsr";
@ -205,11 +213,12 @@ export default {
deep: true deep: true
} }
}, },
components: { Ghgsr, Fh, Fz, Bj, Xq, Qrfz, Sy, Jq, SelectDeptUser, SelectDeptUserDialog },
components: { Ghgsr, Fh, Sh,Fz, Bj, Xq, Qrfz, Sy, Jq, SelectDeptUser, SelectDeptUserDialog },
data() { data() {
return { return {
leader: null, leader: null,
showFh: false, showFh: false,
showSh: false,
showAudit: false, showAudit: false,
showEdit: false, showEdit: false,
showDetail: false, showDetail: false,
@ -321,6 +330,11 @@ export default {
this.$emit('showDetail', this.showFh) this.$emit('showDetail', this.showFh)
this.search() this.search()
}, },
shClose() {
this.showSh = false
this.$emit('showDetail', this.showSh)
this.search()
},
detail(row) { detail(row) {
this.showDetail = true this.showDetail = true
this.$emit('showDetail', this.showDetail) this.$emit('showDetail', this.showDetail)
@ -336,6 +350,11 @@ export default {
this.$emit('showDetail', this.showFh) this.$emit('showDetail', this.showFh)
this.$refs.Fh.show(row) this.$refs.Fh.show(row)
}, },
sh(row) {
this.showSh = true
this.$emit('showDetail', this.showSh)
this.$refs.Sh.show(row)
},
} }
} }
</script> </script>

+ 37
- 5
src/views/business/study/comp/sqbd/Bj.vue View File

@ -83,12 +83,44 @@
<el-dialog :title="$t('page.business.study.studyFormApply.tjjl')" :visible.sync="openSubmit" width="500px" <el-dialog :title="$t('page.business.study.studyFormApply.tjjl')" :visible.sync="openSubmit" width="500px"
append-to-body :close-on-click-modal="false"> append-to-body :close-on-click-modal="false">
<el-form ref="formSubmit" :model="form" :rules="rulesApprove" label-width="120px"> <el-form ref="formSubmit" :model="form" :rules="rulesApprove" label-width="120px">
todo
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="form.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.remark')" prop="remark">
<el-input type="textarea" v-model="form.remark" :rows="5" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<el-input type="password" v-model="form.qmrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<!-- <div slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="tj">{{ $t('form.confirm') }}</el-button> <el-button type="primary" @click="tj">{{ $t('form.confirm') }}</el-button>
<el-button @click="openSubmit = false">{{ $t('form.cancel') }}</el-button> <el-button @click="openSubmit = false">{{ $t('form.cancel') }}</el-button>
</div> -->
</div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -187,6 +219,7 @@ export default {
fzrsh: null, fzrsh: null,
shryId: null, shryId: null,
sfbl: null, sfbl: null,
qmyy:'制作提交预制表单',
shryMc: null, shryMc: null,
} }
this.resetForm("form") this.resetForm("form")
@ -200,8 +233,7 @@ export default {
this.showIndex = 2 this.showIndex = 2
this.$modal.loading() this.$modal.loading()
studyFormApply_info({ id: row.id }).then(response => { studyFormApply_info({ id: row.id }).then(response => {
this.form = response.data
this.form.qmyy = '制作提交预制表单'
this.form = _.merge({}, this.form, response.data)
this.open = true this.open = true
this.$modal.closeLoading() this.$modal.closeLoading()
}) })

+ 2
- 14
src/views/business/study/comp/sqbd/Fh.vue View File

@ -14,8 +14,6 @@
}}</el-button> }}</el-button>
<el-button type="primary" @click="showApprove('复核通过')">{{ $t('page.business.study.studyFormApply.fhtg') <el-button type="primary" @click="showApprove('复核通过')">{{ $t('page.business.study.studyFormApply.fhtg')
}}</el-button> }}</el-button>
<el-button type="primary" @click="showApprove('通过')">{{ $t('page.business.study.studyFormApply.tongguo')
}}</el-button>
</div> </div>
</div> </div>
<div class="edit-content"> <div class="edit-content">
@ -110,7 +108,7 @@
</template> </template>
<script> <script>
import { studyFormApply_fhtg, studyFormApply_fhjj, studyFormApply_tg, studyFormApply_info, studyFormApply_jcgj, studyFormApply_qmxx } from "@/api/business/study/studyFormApply"
import { studyFormApply_fhtg, studyFormApply_fhjj, studyFormApply_info, studyFormApply_jcgj, studyFormApply_qmxx } from "@/api/business/study/studyFormApply"
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import JcgjList from "@/views/business/comps/common/JcgjList"; import JcgjList from "@/views/business/comps/common/JcgjList";
import TemplateTable from '@/views/business/comps/template/TemplateTable'; import TemplateTable from '@/views/business/comps/template/TemplateTable';
@ -211,9 +209,7 @@ export default {
this.openTitle = 'page.business.study.studyFormApply.fhtg' this.openTitle = 'page.business.study.studyFormApply.fhtg'
} else if (qmyy == '复核拒绝') { } else if (qmyy == '复核拒绝') {
this.openTitle = 'page.business.study.studyFormApply.fhjj' this.openTitle = 'page.business.study.studyFormApply.fhjj'
} else if (qmyy == '通过') {
this.openTitle = 'page.business.study.studyFormApply.tongguo'
}
}
}, },
resetApprove() { resetApprove() {
this.formApprove = { this.formApprove = {
@ -254,14 +250,6 @@ export default {
}).finally(() => { }).finally(() => {
this.$modal.closeLoading() this.$modal.closeLoading()
}) })
} else {
studyFormApply_tg(this.formApprove).then(response => {
this.openApprove = false
this.$modal.closeLoading()
this.$emit('close')
}).finally(() => {
this.$modal.closeLoading()
})
} }
} }
} }

+ 257
- 0
src/views/business/study/comp/sqbd/Sh.vue View File

@ -0,0 +1,257 @@
<template>
<div>
<div class="edit-container">
<div class="edit-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title"></div>
</div>
<div class="center-top">
</div>
<div class="right-top">
<el-button @click="cancel()">{{ $t('form.cancel') }}</el-button>
<el-button type="danger" @click="showApprove('审核拒绝')">{{ $t('page.business.study.studyFormApply.shjj')
}}</el-button>
<el-button type="primary" @click="showApprove('审核通过')">{{ $t('page.business.study.studyFormApply.shtg')
}}</el-button>
</div>
</div>
<div class="edit-content">
<div class="content-left">
<TemplateTable ref="templateTable" :sn="form.templateSn" :templateData="form" fillType="readonly" />
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.study.studyFormApply.qmxx') }}</div>
</div>
<div class="pal">
<el-table :data="qmxxList" v-loading="loadingQmxx">
<el-table-column :label="$t('page.business.study.studyFormApply.qmr')" align="center" prop="qmrMc"
width="150px" />
<el-table-column :label="$t('page.business.study.studyFormApply.qmyy')" align="center" prop="qmyy"
width="150px" />
<el-table-column :label="$t('page.business.study.studyFormApply.qmsj')" align="center" prop="createTime"
width="150px" />
<el-table-column :label="$t('page.business.study.studyFormApply.bzyy')" align="center" prop="remark"
:show-overflow-tooltip="true" />
</el-table>
</div>
<div class="pal">
<pagination v-show="totalQmxx > 0" :total="totalQmxx" :page.sync="queryParamsQmxx.pageNum"
:limit.sync="queryParamsQmxx.pageSize" @pagination="getQmxxList" />
</div>
</div>
<div class="content-right">
<div class="content-title">
<div class="line"></div>
<div class="subtitle"> {{ $t('page.business.study.studyFormApply.jcgj') }}</div>
</div>
<JcgjList ref="jcgjList" @handleQuery="getJjcgjList" />
<pagination v-show="jcgjTotal > 0" small layout="prev, pager, next" :total="jcgjTotal"
@pagination="getJjcgjList" />
</div>
</div>
</div>
<el-dialog :title="$t(openTitle)" :visible.sync="openApprove" width="500px" append-to-body
:close-on-click-modal="false">
<el-form ref="formApprove" :model="formApprove" :rules="rulesApprove" label-width="120px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.qmyy')" prop="qmyy">
<el-input type="text" :value="formApprove.qmyy" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row v-if="formApprove.qmyy == '审核拒绝'">
<el-col :span="24">
<el-form-item :label="$t('page.business.study.studyFormApply.reason')" prop="reason">
<el-input type="textarea" v-model="formApprove.reason" :rows="5" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-else>
<el-col :span="24">
<el-form-item :label="$t('form.remark')">
<el-input type="textarea" v-model="formApprove.remark" :rows="5" maxlength="500"
:placeholder="$t('form.placeholderInput')">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.signer')">
<el-input type="text" v-model="nickName" maxlength="50" disabled
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="$t('form.password')" prop="qmrmm">
<el-input type="password" v-model="formApprove.qmrmm" maxlength="20"
:placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="approve">{{ $t('form.confirm') }}</el-button>
<el-button @click="openApprove = false">{{ $t('form.cancel') }}</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { studyFormApply_shtg, studyFormApply_shjj, studyFormApply_info, studyFormApply_jcgj, studyFormApply_qmxx } from "@/api/business/study/studyFormApply"
import { mapGetters } from 'vuex'
import JcgjList from "@/views/business/comps/common/JcgjList";
import TemplateTable from '@/views/business/comps/template/TemplateTable';
export default {
name: "Fh",
components: { TemplateTable, JcgjList },
data() {
return {
form: {},
qmxxList: [],
totalQmxx: 0,
loadingQmxx: true,
queryParamsQmxx: {
formId: null,
pageNum: 1,
pageSize: 10
},
jcgjList: [],
jcgjTotal: 0,
queryParamsJcgj: {
pageNum: 1,
formId: null,
pageSize: 10,
},
openTitle: '',
openApprove: false,
formApprove: {},
rulesApprove: {
qmrmm: [{
required: true,
message: ' ',
trigger: 'blur'
}],
reason: [{
required: true,
message: ' ',
trigger: 'blur'
}],
}
}
},
computed: {
...mapGetters([
'nickName'
]),
},
created() {
},
methods: {
getJjcgjList(val) {
this.$modal.loading()
studyFormApply_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => {
this.jcgjList = response.rows
this.jcgjTotal = response.total
this.$refs.jcgjList.init(this.jcgjList)
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
},
getQmxxList() {
this.loadingQmxx = true
studyFormApply_qmxx(this.queryParamsQmxx).then(response => {
this.qmxxList = response.rows
this.totalQmxx = response.total
this.loadingQmxx = false
})
},
cancel() {
this.$emit('close')
},
reset() {
this.form = {}
this.resetForm("form")
},
show(row) {
this.reset()
this.$modal.loading()
this.queryParamsJcgj.formId = row.id
this.queryParamsQmxx.formId = row.id
studyFormApply_info({ id: row.id }).then(response => {
this.form = response.data
this.getQmxxList()
this.getJjcgjList()
this.$modal.closeLoading()
}).finally(() => {
this.$modal.closeLoading()
})
},
showApprove(qmyy) {
this.openApprove = true
this.resetApprove()
this.formApprove.id = this.form.id
this.formApprove.qmyy = qmyy
if (qmyy == '审核通过') {
this.openTitle = 'page.business.study.studyFormApply.shtg'
} else if (qmyy == '审核拒绝') {
this.openTitle = 'page.business.study.studyFormApply.shjj'
}
},
resetApprove() {
this.formApprove = {
id: null,
qmyy: '',
bdnr: '',
remark: '',
reason: '',
qmrmm: '',
}
this.resetForm("formApprove")
},
approve() {
this.$refs["formApprove"].validate(valid => {
if (valid) {
this.doapprove()
}
})
},
async doapprove() {
let content = await this.$refs.templateTable.getFormData()
this.formApprove.bdnr = JSON.stringify(content)
this.$modal.loading()
if (this.formApprove.qmyy == '审核通过') {
studyFormApply_shtg(this.formApprove).then(response => {
this.openApprove = false
this.$modal.closeLoading()
this.$emit('close')
}).finally(() => {
this.$modal.closeLoading()
})
} else if (this.formApprove.qmyy == '审核拒绝') {
this.formApprove.remark=this.formApprove.reason
studyFormApply_shjj(this.formApprove).then(response => {
this.openApprove = false
this.$modal.closeLoading()
this.$emit('close')
}).finally(() => {
this.$modal.closeLoading()
})
}
}
}
}
</script>

+ 1
- 0
src/views/business/study/comp/ytbdList.vue View File

@ -68,6 +68,7 @@
<span v-if="scope.row.bdzt === 1">{{ $t('page.business.form.statusTbz') }}</span> <span v-if="scope.row.bdzt === 1">{{ $t('page.business.form.statusTbz') }}</span>
<span v-if="scope.row.bdzt === 3">{{ $t('page.business.form.statusYtj') }}</span> <span v-if="scope.row.bdzt === 3">{{ $t('page.business.form.statusYtj') }}</span>
<span v-if="scope.row.bdzt === 5">{{ $t('page.business.form.statusYtg') }}</span> <span v-if="scope.row.bdzt === 5">{{ $t('page.business.form.statusYtg') }}</span>
<span v-if="scope.row.bdzt === 7">{{ $t('page.business.form.statusWtg') }}</span>
</template> </template>
</el-table-column> </el-table-column>

Loading…
Cancel
Save