| @ -1,12 +1,53 @@ | |||
| export default { | |||
| jcsz: '基础设置', | |||
| bdtb: '表单填报', | |||
| xzbd: '新增表单', | |||
| fh: '复核', | |||
| ghgsr: '更换归属人', | |||
| sy: '审阅', | |||
| gc: '观察', | |||
| bdsm: '表单说明', | |||
| zc: '暂存', | |||
| next: '下一步', | |||
| save: '保存', | |||
| submit: '提交', | |||
| bdnr: '表单内容', | |||
| qmxx: '签名信息', | |||
| qmr: '签名人', | |||
| qmyy: '签名意义', | |||
| qmsj: '签名时间', | |||
| bzyy: '备注原因', | |||
| jcgj: '稽查轨迹', | |||
| cjjl: '创建记录', | |||
| yes: '是', | |||
| no: '否', | |||
| tjjl: '提交记录', | |||
| dcqbjcgj: '导出(全部稽查轨迹)', | |||
| dclcjcgj: '导出(流程稽查轨迹)', | |||
| dcbjjcgj: '导出(编辑稽查轨迹)', | |||
| dcxgjcgj: '导出(修改稽查轨迹)', | |||
| dcbhsjgj: '导出(不含数据轨迹)', | |||
| rybg: '人员变更', | |||
| tbz: '填报中', | |||
| ytj: '已提交', | |||
| ywcfh: '已完成(经复核)', | |||
| ywc: '已完成', | |||
| reject: '拒绝', | |||
| reason: '原因', | |||
| approve: '通过', | |||
| shenyue: '审阅', | |||
| fhjj: '复核拒绝', | |||
| fhtg: '复核通过', | |||
| tongguo: '通过', | |||
| syxx: '试验信息', | |||
| symc: '试验名称', | |||
| sybh: '试验编号', | |||
| syfzr: '试验负责人', | |||
| sdsy: '锁定试验', | |||
| cjsj: '创建时间', | |||
| sdsy: '锁定试验', | |||
| syjj: '试验简介', | |||
| xz:'新增配置计划表', | |||
| syxkxx:'试验学科信息' | |||
| xz: '新增配置计划表', | |||
| syxkxx: '试验学科信息' | |||
| } | |||
| @ -0,0 +1,234 @@ | |||
| G<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="showIndex == 1 ? 'el-step__icon is-text is-finish' : 'el-step__icon is-text is-info'"> | |||
| <div class="el-step__icon-inner">1</div> | |||
| </div> | |||
| {{ $t('page.business.study.studyFormPlan.jcsz') }} | |||
| </div> | |||
| <div class="line"></div> | |||
| <div> | |||
| <div :class="showIndex == 2 ? 'el-step__icon is-text is-finish' : 'el-step__icon is-text is-info'"> | |||
| <div class="el-step__icon-inner">2</div> | |||
| </div> | |||
| {{ $t('page.business.study.studyFormPlan.bdtb') }} | |||
| </div> | |||
| </div> | |||
| <div class="right-top"> | |||
| <el-button @click="cancel()">{{ $t('form.cancel') }}</el-button> | |||
| <template v-if="showIndex == 1"> | |||
| <el-button @click="save">{{ $t('page.business.study.studyFormPlan.zc') }}</el-button> | |||
| <el-button type="primary" @click="next">{{ $t('page.business.study.studyFormPlan.next') }}</el-button> | |||
| </template> | |||
| <template v-else> | |||
| <el-button @click="saveNext">{{ $t('page.business.study.studyFormPlan.save') }}</el-button> | |||
| <el-button type="primary" @click="openSubmit = true">{{ $t('page.business.study.studyFormPlan.submit') | |||
| }}</el-button> | |||
| </template> | |||
| </div> | |||
| </div> | |||
| <div class="edit-content"> | |||
| <div class="content" style="width:60%" v-show="showIndex == 1"> | |||
| <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | |||
| <el-row> | |||
| <el-col :span="24"> | |||
| <el-form-item :label="$t('page.business.form.xtmbmc')" prop="templateId"> | |||
| <SelectTemplate v-model="form.templateId" :name="form.templateMc" @change="selectTemplateChange" /> | |||
| </el-form-item> | |||
| </el-col> | |||
| </el-row> | |||
| <el-row> | |||
| <el-col :span="24"> | |||
| <el-form-item :label="$t('page.business.form.bdmc')" prop="bdmc"> | |||
| <el-input type="text" v-model="form.bdmc" maxlength="50" :placeholder="$t('form.placeholderInput')" /> | |||
| </el-form-item> | |||
| </el-col> | |||
| </el-row> | |||
| <el-row> | |||
| <el-col :span="24"> | |||
| <el-form-item :label="$t('page.business.study.studyFormPlan.bdsm')" prop="bdsm"> | |||
| <el-input type="textarea" v-model="form.bdsm" :rows="5" maxlength="500" | |||
| :placeholder="$t('form.placeholderInput')"> | |||
| </el-input> | |||
| </el-form-item> | |||
| </el-col> | |||
| </el-row> | |||
| </el-form> | |||
| </div> | |||
| <div class="content" v-show="showIndex == 2"> | |||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="prePlan" /> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <el-dialog :title="$t('page.business.study.studyFormPlan.tjjl')" :visible.sync="openSubmit" width="500px" | |||
| append-to-body :close-on-click-modal="false"> | |||
| <el-form ref="formSubmit" :model="form" :rules="rulesApprove" label-width="120px"> | |||
| todo | |||
| </el-form> | |||
| <!-- <div slot="footer" class="dialog-footer"> | |||
| <el-button type="primary" @click="tj">{{ $t('form.confirm') }}</el-button> | |||
| <el-button @click="openSubmit = false">{{ $t('form.cancel') }}</el-button> | |||
| </div> --> | |||
| </el-dialog> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { studyFormPlan_bc, studyFormPlan_tj, studyFormPlan_info } from "@/api/business/study/studyFormPlan" | |||
| import { mapGetters } from 'vuex' | |||
| import SelectTemplate from "@/views/business/comps/select/SelectTemplate"; | |||
| import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser'; | |||
| import TemplateTable from '@/views/business/comps/template/TemplateTable'; | |||
| export default { | |||
| name: "Bj", | |||
| components: { SelectTemplate, SelectDeptUser, TemplateTable }, | |||
| data() { | |||
| return { | |||
| open: false, | |||
| showIndex: 1, | |||
| form: {}, | |||
| openSubmit: false, | |||
| rulesApprove: { | |||
| qmrmm: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| fzrsh: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| shryId: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }] | |||
| }, | |||
| rules: { | |||
| bdmc: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| templateId: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| } | |||
| } | |||
| }, | |||
| computed: { | |||
| ...mapGetters([ | |||
| 'nickName' | |||
| ]), | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| next() { | |||
| this.$refs["form"].validate(valid => { | |||
| if (valid) { | |||
| this.showIndex = 2 | |||
| } | |||
| }) | |||
| }, | |||
| selectTemplateChange(val) { | |||
| this.form.bdnr = val.content | |||
| this.form.templateMc = val.name | |||
| }, | |||
| cancel() { | |||
| this.$emit('close') | |||
| }, | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| studyId: null, | |||
| bdbh: null, | |||
| bdmc: null, | |||
| bdsm: null, | |||
| templateId: null, | |||
| templateMc: null, | |||
| bdnr: null, | |||
| fzrsh: null, | |||
| shryId: null, | |||
| shryMc: null, | |||
| } | |||
| this.resetForm("form") | |||
| }, | |||
| selectDeptUserChange(val) { | |||
| this.form.shryMc = val.name | |||
| }, | |||
| edit(row) { | |||
| this.reset() | |||
| this.showIndex = 1 | |||
| if (row && row.id) { | |||
| this.$modal.loading() | |||
| studyFormPlan_info({ id: row.id }).then(response => { | |||
| this.form = response.data | |||
| this.form.qmyy = '制作提交预制表单' | |||
| this.open = true | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } else { | |||
| this.form = _.merge({}, this.form, row) | |||
| this.open = true | |||
| } | |||
| }, | |||
| save() { | |||
| this.$refs["form"].validate(valid => { | |||
| if (valid) { | |||
| this.$modal.loading() | |||
| studyFormPlan_bc(this.form).then(response => { | |||
| this.$emit('close') | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| async saveNext() { | |||
| let content = await this.$refs.templateTable.getFormData() | |||
| this.form.bdnr = JSON.stringify(content) | |||
| this.$modal.loading() | |||
| studyFormPlan_bc(this.form).then(response => { | |||
| this.$emit('close') | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| }, | |||
| tj() { | |||
| this.$refs["formSubmit"].validate(valid => { | |||
| if (valid) { | |||
| this.dotj() | |||
| } | |||
| }) | |||
| }, | |||
| async dotj() { | |||
| let content = await this.$refs.templateTable.getFormData() | |||
| this.form.bdnr = JSON.stringify(content) | |||
| this.$modal.loading() | |||
| studyFormPlan_tj(this.form).then(response => { | |||
| this.$emit('close') | |||
| this.openSubmit = false | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @ -0,0 +1,268 @@ | |||
| G<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.studyFormPlan.fhjj') | |||
| }}</el-button> | |||
| <el-button type="primary" @click="showApprove('复核通过')">{{ $t('page.business.study.studyFormPlan.fhtg') | |||
| }}</el-button> | |||
| <el-button type="primary" @click="showApprove('通过')">{{ $t('page.business.study.studyFormPlan.tongguo') | |||
| }}</el-button> | |||
| </div> | |||
| </div> | |||
| <div class="edit-content"> | |||
| <div class="content-left"> | |||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="prePlan" /> | |||
| <div class="content-title"> | |||
| <div class="line"></div> | |||
| <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.qmxx') }}</div> | |||
| </div> | |||
| <div class="pal"> | |||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmr')" align="center" prop="qmrMc" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmyy')" align="center" prop="qmyy" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmsj')" align="center" prop="createTime" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.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.studyFormPlan.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.studyFormPlan.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 { studyFormPlan_fhtg, studyFormPlan_fhjj, studyFormPlan_tg, studyFormPlan_info, studyFormPlan_jcgj, studyFormPlan_qmxx } from "@/api/business/study/studyFormPlan" | |||
| 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() | |||
| studyFormPlan_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 | |||
| studyFormPlan_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 | |||
| studyFormPlan_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.studyFormPlan.fhtg' | |||
| } else if (qmyy == '复核拒绝') { | |||
| this.openTitle = 'page.business.study.studyFormPlan.fhjj' | |||
| } else if (qmyy == '通过') { | |||
| this.openTitle = 'page.business.study.studyFormPlan.tongguo' | |||
| } | |||
| }, | |||
| resetApprove() { | |||
| this.resetForm("formApprove") | |||
| this.formApprove = { | |||
| id: null, | |||
| qmyy: '', | |||
| bdnr: '', | |||
| remark: '', | |||
| reason: '', | |||
| qmrmm: '', | |||
| } | |||
| }, | |||
| 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 == '复核通过') { | |||
| studyFormPlan_fhtg(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 | |||
| studyFormPlan_fhjj(this.formApprove).then(response => { | |||
| this.openApprove = false | |||
| this.$modal.closeLoading() | |||
| this.$emit('close') | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } else { | |||
| studyFormPlan_tg(this.formApprove).then(response => { | |||
| this.openApprove = false | |||
| this.$modal.closeLoading() | |||
| this.$emit('close') | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @ -0,0 +1,126 @@ | |||
| G<template> | |||
| <div> | |||
| <el-dialog :title="$t('page.business.study.studyFormPlan.rybg')" :visible.sync="open" width="500px" | |||
| append-to-body :close-on-click-modal="false"> | |||
| <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | |||
| <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('page.business.study.studyFormPlan.reason')" 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> | |||
| <div slot="footer" class="dialog-footer"> | |||
| <el-button type="primary" @click="save">{{ $t('form.confirm') }}</el-button> | |||
| <el-button @click="cancel">{{ $t('form.cancel') }}</el-button> | |||
| </div> | |||
| </el-dialog> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { studyFormPlan_ghgsr } from "@/api/business/study/studyFormPlan" | |||
| import { mapGetters } from 'vuex' | |||
| export default { | |||
| name: "Ghgsr", | |||
| components: {}, | |||
| data() { | |||
| return { | |||
| isBatch: false, | |||
| ids: [], | |||
| selectList: [], | |||
| open: false, | |||
| form: {}, | |||
| rules: { | |||
| qmrmm: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| remark: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| qmyy: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| } | |||
| } | |||
| }, | |||
| computed: { | |||
| ...mapGetters([ | |||
| 'nickName' | |||
| ]), | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| cancel() { | |||
| this.open = false | |||
| }, | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| qmyy: '更换归属人', | |||
| userId: null, | |||
| UserMc: null, | |||
| remark: null, | |||
| qmrmm: null | |||
| } | |||
| this.resetForm("form") | |||
| }, | |||
| show(row) { | |||
| this.reset() | |||
| this.form.id = row.id | |||
| this.form.userId = row.userId | |||
| this.form.userMc = row.userMc | |||
| this.open = true | |||
| }, | |||
| save() { | |||
| this.$refs["form"].validate(valid => { | |||
| if (valid) { | |||
| this.$modal.loading() | |||
| studyFormPlan_ghgsr(this.form).then(response => { | |||
| this.open = false | |||
| this.$emit('callback') | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @ -0,0 +1,215 @@ | |||
| G<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="primary" @click="showApprove">{{ $t('page.business.study.studyFormPlan.shenyue') | |||
| }}</el-button> | |||
| </div> | |||
| </div> | |||
| <div class="edit-content"> | |||
| <div class="content-left"> | |||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="prePlan" /> | |||
| <div class="content-title"> | |||
| <div class="line"></div> | |||
| <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.qmxx') }}</div> | |||
| </div> | |||
| <div class="pal"> | |||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmr')" align="center" prop="qmrMc" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmyy')" align="center" prop="qmyy" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmsj')" align="center" prop="createTime" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.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.studyFormPlan.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('page.business.study.studyFormPlan.shenyue')" :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> | |||
| <el-col :span="24"> | |||
| <el-form-item :label="$t('form.remark')" prop="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 { studyFormPlan_sy, studyFormPlan_info, studyFormPlan_jcgj, studyFormPlan_qmxx } from "@/api/business/study/studyFormPlan" | |||
| import { mapGetters } from 'vuex' | |||
| import JcgjList from "@/views/business/comps/common/JcgjList"; | |||
| import TemplateTable from '@/views/business/comps/template/TemplateTable'; | |||
| export default { | |||
| name: "Sy", | |||
| 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, | |||
| }, | |||
| openApprove: false, | |||
| formApprove: {}, | |||
| rulesApprove: { | |||
| qmrmm: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }] | |||
| } | |||
| } | |||
| }, | |||
| computed: { | |||
| ...mapGetters([ | |||
| 'nickName' | |||
| ]), | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| getJjcgjList(val) { | |||
| this.$modal.loading() | |||
| studyFormPlan_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 | |||
| studyFormPlan_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 | |||
| studyFormPlan_info({ id: row.id }).then(response => { | |||
| this.form = response.data | |||
| this.getQmxxList() | |||
| this.getJjcgjList() | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| }, | |||
| showApprove() { | |||
| this.resetApprove() | |||
| this.formApprove.id = this.form.id | |||
| this.openApprove = true | |||
| }, | |||
| resetApprove() { | |||
| this.formApprove = { | |||
| id: null, | |||
| qmyy: '已审阅', | |||
| remark: '', | |||
| qmrmm: '', | |||
| } | |||
| this.resetForm("formApprove") | |||
| }, | |||
| approve() { | |||
| this.$refs["formApprove"].validate(valid => { | |||
| if (valid) { | |||
| this.$modal.loading() | |||
| studyFormPlan_sy(this.formApprove).then(response => { | |||
| this.openApprove = false | |||
| this.$modal.closeLoading() | |||
| this.$emit('close') | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| </script> | |||
| @ -0,0 +1,260 @@ | |||
| G<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.close') }}</el-button> | |||
| <el-button type="primary" v-if="form.bdzt === 5 && form.tbzt === 1" @click="openApprove = true">{{ | |||
| $t('page.business.study.studyFormPlan.tb') }}</el-button> | |||
| </div> | |||
| </div> | |||
| <div class="edit-content "> | |||
| <div class="content"> | |||
| <div> | |||
| <el-button type="primary" @click="dcqbjcgj">{{ $t('page.business.study.studyFormPlan.dcqbjcgj') }} | |||
| </el-button> | |||
| <el-button type="primary" @click="dclcjcgj">{{ $t('page.business.study.studyFormPlan.dclcjcgj') }} | |||
| </el-button> | |||
| <el-button type="primary" @click="dcbjjcgj">{{ $t('page.business.study.studyFormPlan.dcbjjcgj') }} | |||
| </el-button> | |||
| <el-button type="primary" @click="dcxgjcgj">{{ $t('page.business.study.studyFormPlan.dcxgjcgj') }} | |||
| </el-button> | |||
| <el-button type="primary" @click="dcbhsjgj">{{ $t('page.business.study.studyFormPlan.dcbhsjgj') }} | |||
| </el-button> | |||
| </div> | |||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="prePlan" /> | |||
| <div class="content-title"> | |||
| <div class="line"></div> | |||
| <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.qmxx') }}</div> | |||
| </div> | |||
| <div class="pal"> | |||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmr')" align="center" prop="qmrMc" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmyy')" align="center" prop="qmyy" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.qmsj')" align="center" prop="createTime" | |||
| width="150px" /> | |||
| <el-table-column :label="$t('page.business.study.studyFormPlan.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 class="content-title"> | |||
| <div class="line"></div> | |||
| <div class="subtitle"> {{ $t('page.business.study.studyFormPlan.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('page.business.study.studyFormPlan.cjjl')" :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-alert :title="$t('page.business.study.studyFormPlan.ts')" :closable="false" type="success"> | |||
| </el-alert> | |||
| <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> | |||
| <el-col :span="24"> | |||
| <el-form-item :label="$t('form.remark')" prop="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 { studyFormPlan_tb, studyFormPlan_info, studyFormPlan_jcgj, studyFormPlan_qmxx } from "@/api/business/study/studyFormPlan" | |||
| import { mapGetters } from 'vuex' | |||
| import JcgjList from "@/views/business/comps/common/JcgjList"; | |||
| import TemplateTable from '@/views/business/comps/template/TemplateTable'; | |||
| export default { | |||
| name: "Xq", | |||
| components: { JcgjList, TemplateTable }, | |||
| data() { | |||
| return { | |||
| openApprove: false, | |||
| formApprove: { | |||
| id: null, | |||
| qmyy: '创建记录', | |||
| remark: '', | |||
| qmrmm: '', | |||
| }, | |||
| rulesApprove: { | |||
| qmrmm: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }] | |||
| }, | |||
| qmxxList: [], | |||
| totalQmxx: 0, | |||
| loadingQmxx: true, | |||
| queryParamsQmxx: { | |||
| formId: null, | |||
| pageNum: 1, | |||
| pageSize: 10 | |||
| }, | |||
| open: false, | |||
| showIndex: 1, | |||
| form: {}, | |||
| rules: { | |||
| bdmc: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }], | |||
| templateId: [{ | |||
| required: true, | |||
| message: ' ', | |||
| trigger: 'blur' | |||
| }] | |||
| }, | |||
| jcgjTotal: 0, | |||
| jcgjList: [], | |||
| queryParamsJcgj: { | |||
| pageNum: 1, | |||
| formId: null, | |||
| pageSize: 10, | |||
| } | |||
| } | |||
| }, | |||
| computed: { | |||
| ...mapGetters([ | |||
| 'nickName' | |||
| ]), | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| dcqbjcgj() { | |||
| alert('todo') | |||
| }, | |||
| dclcjcgj() { | |||
| alert('todo') | |||
| }, | |||
| dcbjjcgj() { | |||
| alert('todo') | |||
| }, | |||
| dcxgjcgj() { | |||
| alert('todo') | |||
| }, | |||
| dcbhsjgj() { | |||
| alert('todo') | |||
| }, | |||
| getJjcgjList(val) { | |||
| this.$modal.loading() | |||
| studyFormPlan_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 | |||
| studyFormPlan_qmxx(this.queryParamsQmxx).then(response => { | |||
| this.qmxxList = response.rows | |||
| this.totalQmxx = response.total | |||
| this.loadingQmxx = false | |||
| }) | |||
| }, | |||
| cancel() { | |||
| this.$emit('close') | |||
| }, | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| studyId: null, | |||
| bdbh: null, | |||
| bdmc: null, | |||
| bdsm: null, | |||
| templateId: null, | |||
| templateMc: null, | |||
| bdnr: null | |||
| } | |||
| this.resetForm("form") | |||
| }, | |||
| show(row) { | |||
| this.reset() | |||
| this.$modal.loading() | |||
| this.formApprove.id = row.id | |||
| this.queryParamsJcgj.formId = row.id | |||
| this.queryParamsQmxx.formId = row.id | |||
| studyFormPlan_info({ id: row.id }).then(response => { | |||
| this.form = response.data | |||
| this.getQmxxList() | |||
| this.getJjcgjList() | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| }, | |||
| approve() { | |||
| this.$refs["formApprove"].validate(valid => { | |||
| if (valid) { | |||
| this.$modal.loading() | |||
| studyFormPlan_tb(this.formApprove).then(response => { | |||
| this.$emit('close') | |||
| this.openApprove = false | |||
| this.$modal.closeLoading() | |||
| }).finally(() => { | |||
| this.$modal.closeLoading() | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| } | |||
| </script> | |||