| @ -0,0 +1,134 @@ | |||||
| import request from '@/utils/request' | |||||
| //列表 | |||||
| export function studyFormFill_list(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/list', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //稽查轨迹 | |||||
| export function studyFormFill_jcgj(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/jcgjList', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //签名信息 | |||||
| export function studyFormFill_qmxx(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/qmxxList', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //详情 | |||||
| export function studyFormFill_info(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/info', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //加签 | |||||
| export function studyFormFill_jq(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/jq', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //废止 | |||||
| export function studyFormFill_fz(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/fz', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //确认废止 | |||||
| export function studyFormFill_qrfz(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/qrfz', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //更换归属人 | |||||
| export function studyFormFill_ghgsr(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/ghgsr', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //保存 | |||||
| export function studyFormFill_bc(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/bc', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //提交 | |||||
| export function studyFormFill_tj(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/tj', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //观察 | |||||
| export function studyFormFill_gc(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/gc', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //复核通过 | |||||
| export function studyFormFill_fhtg(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/fhtg', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //复核拒绝 | |||||
| export function studyFormFill_fhjj(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/fhjj', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //通过 | |||||
| export function studyFormFill_tg(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/tg', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //审阅 | |||||
| export function studyFormFill_sy(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormFill/sy', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| @ -0,0 +1,102 @@ | |||||
| import request from '@/utils/request' | |||||
| //列表 | |||||
| export function studyFormPlan_list(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/list', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //稽查轨迹 | |||||
| export function studyFormPlan_jcgj(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/jcgjList', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //签名信息 | |||||
| export function studyFormPlan_qmxx(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/qmxxList', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //详情 | |||||
| export function studyFormPlan_info(query) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/info', | |||||
| method: 'get', | |||||
| params: query | |||||
| }) | |||||
| } | |||||
| //更换归属人 | |||||
| export function studyFormPlan_ghgsr(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/ghgsr', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //保存 | |||||
| export function studyFormPlan_bc(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/bc', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //提交 | |||||
| export function studyFormPlan_tj(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/tj', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //复核通过 | |||||
| export function studyFormPlan_fhtg(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/fhtg', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //复核拒绝 | |||||
| export function studyFormPlan_fhjj(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/fhjj', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //通过 | |||||
| export function studyFormPlan_tg(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/tg', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| //审阅 | |||||
| export function studyFormPlan_sy(data) { | |||||
| return request({ | |||||
| url: '/system/business/studyFormPlan/sy', | |||||
| method: 'post', | |||||
| data: data | |||||
| }) | |||||
| } | |||||
| @ -0,0 +1,57 @@ | |||||
| export default { | |||||
| jcsz:'基础设置', | |||||
| bdtb:'表单填报', | |||||
| xzbd:'新增表单', | |||||
| fh:'复核', | |||||
| jq:'加签', | |||||
| ghgsr:'更换归属人', | |||||
| sy:'审阅', | |||||
| fz:'废止', | |||||
| qrfz:'确认废止', | |||||
| gc:'观察', | |||||
| bdsm:'表单说明', | |||||
| zc:'暂存', | |||||
| next:'下一步', | |||||
| save:'保存', | |||||
| submit:'提交', | |||||
| bdnr:'表单内容', | |||||
| qmxx:'签名信息', | |||||
| qmr:'签名人', | |||||
| qmyy:'签名意义', | |||||
| qmsj:'签名时间', | |||||
| bzyy:'备注原因', | |||||
| jcgj:'稽查轨迹', | |||||
| cjjl:'创建记录', | |||||
| sfbl:'是否为补录', | |||||
| yes:'是', | |||||
| no:'否', | |||||
| tjjl:'提交记录', | |||||
| sqfz:'申请废止', | |||||
| dcqbjcgj:'导出(全部稽查轨迹)', | |||||
| dclcjcgj:'导出(流程稽查轨迹)', | |||||
| dcbjjcgj:'导出(编辑稽查轨迹)', | |||||
| dcxgjcgj:'导出(修改稽查轨迹)', | |||||
| dcbhsjgj:'导出(不含数据轨迹)', | |||||
| tbz:'填报中', | |||||
| ytj:'已提交', | |||||
| ywc:'已完成', | |||||
| ywcfh:'已完成(经复核)', | |||||
| ywc:'已完成', | |||||
| dfz:'待废止', | |||||
| yfz:'已废止', | |||||
| guancha:'观察', | |||||
| jiaqian:'加签', | |||||
| qrfz:'确认废止', | |||||
| reason:'原因', | |||||
| reject:'拒绝', | |||||
| approve:'通过', | |||||
| szqk:'生长情况', | |||||
| rybg:'人员变更', | |||||
| shenyue:'审阅', | |||||
| fhjj:'复核拒绝', | |||||
| fhtg:'复核通过', | |||||
| tongguo:'通过', | |||||
| } | |||||
| @ -0,0 +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: '试验负责人', | |||||
| cjsj: '创建时间', | |||||
| sdsy: '锁定试验', | |||||
| syjj: '试验简介', | |||||
| xz: '新增配置计划表', | |||||
| syxkxx: '试验学科信息' | |||||
| } | |||||
| @ -0,0 +1,57 @@ | |||||
| export default { | |||||
| jcsz:'基础设置', | |||||
| bdtb:'表单填报', | |||||
| xzbd:'新增表单', | |||||
| fh:'复核', | |||||
| jq:'加签', | |||||
| ghgsr:'更换归属人', | |||||
| sy:'审阅', | |||||
| fz:'废止', | |||||
| qrfz:'确认废止', | |||||
| gc:'观察', | |||||
| bdsm:'表单说明', | |||||
| zc:'暂存', | |||||
| next:'下一步', | |||||
| save:'保存', | |||||
| submit:'提交', | |||||
| bdnr:'表单内容', | |||||
| qmxx:'签名信息', | |||||
| qmr:'签名人', | |||||
| qmyy:'签名意义', | |||||
| qmsj:'签名时间', | |||||
| bzyy:'备注原因', | |||||
| jcgj:'稽查轨迹', | |||||
| cjjl:'创建记录', | |||||
| sfbl:'是否为补录', | |||||
| yes:'是', | |||||
| no:'否', | |||||
| tjjl:'提交记录', | |||||
| sqfz:'申请废止', | |||||
| dcqbjcgj:'导出(全部稽查轨迹)', | |||||
| dclcjcgj:'导出(流程稽查轨迹)', | |||||
| dcbjjcgj:'导出(编辑稽查轨迹)', | |||||
| dcxgjcgj:'导出(修改稽查轨迹)', | |||||
| dcbhsjgj:'导出(不含数据轨迹)', | |||||
| tbz:'填报中', | |||||
| ytj:'已提交', | |||||
| ywc:'已完成', | |||||
| ywcfh:'已完成(经复核)', | |||||
| ywc:'已完成', | |||||
| dfz:'待废止', | |||||
| yfz:'已废止', | |||||
| guancha:'观察', | |||||
| jiaqian:'加签', | |||||
| qrfz:'确认废止', | |||||
| reject:'拒绝', | |||||
| reason:'原因', | |||||
| approve:'通过', | |||||
| szqk:'生长情况', | |||||
| rybg:'人员变更', | |||||
| shenyue:'审阅', | |||||
| fhjj:'复核拒绝', | |||||
| fhtg:'复核通过', | |||||
| tongguo:'通过', | |||||
| } | |||||
| @ -0,0 +1,52 @@ | |||||
| 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: '试验负责人', | |||||
| cjsj: '创建时间', | |||||
| sdsy: '锁定试验', | |||||
| syjj: '试验简介', | |||||
| 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> | |||||
| @ -0,0 +1,280 @@ | |||||
| <template> | |||||
| <div class="tbbd-list"> | |||||
| <div v-show="!showDetail && !showEdit && !showAudit && !showFh"> | |||||
| <div class="tbbd-search"> | |||||
| <el-form :model="searchForm" ref="searchForm" :inline="true" label-width="100px"> | |||||
| <el-row> | |||||
| <el-col :span="5"> | |||||
| <el-form-item :label="$t('page.business.form.bdmc')" prop="name"> | |||||
| <el-input v-model="searchForm.bdmc" :placeholder="$t('form.placeholderInput')" clearable | |||||
| style="width: 160px" @keyup.enter.native="search" /> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="5"> | |||||
| <el-form-item :label="$t('page.business.form.bdbh')" prop="sn"> | |||||
| <el-input v-model="searchForm.bdbh" :placeholder="$t('form.placeholderInput')" clearable | |||||
| style="width: 160px" @keyup.enter.native="search" /> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="5"> | |||||
| <el-form-item :label="$t('page.business.form.gsr')" prop="userId"> | |||||
| <SelectDeptUser v-model="searchForm.userId" style="width: 160px" :name="searchForm.userMc" key="userId" | |||||
| @change="userChange" /> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="5"> | |||||
| <el-form-item :label="$t('page.business.form.cjsj')"> | |||||
| <el-date-picker v-model="daterange" clearable type="daterange" range-separator="-" | |||||
| :start-placeholder="$t('page.business.form.startDate')" | |||||
| :end-placeholder="$t('page.business.form.endDate')" value-format="yyyy-MM-dd" @change="search" | |||||
| style="width: 200px" /> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="4"> | |||||
| <el-form-item> | |||||
| <el-button type="primary" icon="el-icon-search" @click="search">{{ $t('form.search') }}</el-button> | |||||
| <el-button icon="el-icon-refresh" @click="reset">{{ $t('form.reset') }}</el-button> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| </el-row> | |||||
| </el-form> | |||||
| </div> | |||||
| <div class="tbbd-content"> | |||||
| <el-row class="add-box"> | |||||
| <el-col> | |||||
| <el-button type="primary" icon="el-icon-plus" @click="add()" v-hasPermi="['business:studyFormPlan:xz']">{{ | |||||
| $t('page.business.study.studyFormPlan.xzbd') }}</el-button> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-table v-loading="loading" :data="list"> | |||||
| <el-table-column :label="$t('page.business.form.bh')" prop="bdbh" /> | |||||
| <el-table-column :label="$t('page.business.form.bdmc')" prop="bdmc" /> | |||||
| <el-table-column :label="$t('page.business.form.xtmbmc')" prop="templateMc" /> | |||||
| <el-table-column :label="$t('page.business.form.cjsj')" align="center" prop="createTime" width="140" /> | |||||
| <el-table-column :label="$t('page.business.form.gsr')" align="center" prop="userMc" width="100" /> | |||||
| <el-table-column :label="$t('page.business.form.status')" prop="status" align="center" width="100"> | |||||
| <template slot-scope="scope"> | |||||
| <span v-if="scope.row.bdzt === 1">{{ $t('page.business.study.studyFormPlan.tbz') }}</span> | |||||
| <span v-if="scope.row.bdzt === 3">{{ $t('page.business.study.studyFormPlan.ytj') }}</span> | |||||
| <span v-if="scope.row.bdzt === 7">{{ $t('page.business.study.studyFormPlan.ywc') }}</span> | |||||
| <span v-if="scope.row.bdzt === 5">{{ $t('page.business.study.studyFormPlan.ywcfh') }}</span> | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column :label="$t('form.operate')" align="left" fixed="right" width="200"> | |||||
| <template slot-scope="scope"> | |||||
| <!-- 表单状态:1:填报中;3:已提交;5:已完成(经复核);7:已完成 --> | |||||
| <!-- 详情 --> | |||||
| <el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:studyFormPlan:xq']">{{ | |||||
| $t('form.detail') }}</el-button> | |||||
| <!-- 编辑 --> | |||||
| <el-button type="text" v-if="scope.row.bdzt === 1 || scope.row.bdzt === 5 || scope.row.bdzt === 7" | |||||
| @click="edit(scope.row)" v-hasPermi="['business:studyFormPlan:bj']">{{ | |||||
| $t('form.edit') }}</el-button> | |||||
| <!-- 复核 --> | |||||
| <el-button type="text" v-if="scope.row.bdzt === 3" @click="fh(scope.row)" | |||||
| v-hasPermi="['business:studyFormPlan:fh']">{{ | |||||
| $t('page.business.study.studyFormPlan.fh') }}</el-button> | |||||
| <!-- 更换归属人 --> | |||||
| <el-button type="text" | |||||
| v-if="scope.row.bdzt === 1 || scope.row.bdzt === 3 || scope.row.bdzt === 5 || scope.row.bdzt === 7" | |||||
| @click="ghgsr(scope.row)" v-hasPermi="['business:studyFormPlan:ghgsr']">{{ | |||||
| $t('page.business.study.studyFormPlan.ghgsr') }}</el-button> | |||||
| <!-- 审阅 --> | |||||
| <el-button type="text" v-if="scope.row.bdzt === 5 || scope.row.bdzt === 7" @click="sy(scope.row)" | |||||
| v-hasPermi="['business:studyFormPlan:sy']">{{ | |||||
| $t('page.business.study.studyFormPlan.sy') }}</el-button> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | |||||
| <pagination v-show="total > 0" :total="total" :page.sync="searchForm.pageNum" :limit.sync="searchForm.pageSize" | |||||
| @pagination="getList" /> | |||||
| </div> | |||||
| </div> | |||||
| <!-- 编辑 --> | |||||
| <Bj v-show="showEdit" key="Bj" ref="Bj" @close="bjClose" /> | |||||
| <!-- 详情 --> | |||||
| <Xq v-show="showDetail" key="Xq" ref="Xq" @close="xqClose" /> | |||||
| <!-- 审阅 --> | |||||
| <Sy v-show="showAudit" key="Sy" ref="Sy" @close="syClose" /> | |||||
| <!-- 复核 --> | |||||
| <Fh v-show="showFh" key="Fh" ref="Fh" @close="fhClose" /> | |||||
| <!-- 更换归属人 --> | |||||
| <Ghgsr key="Ghgsr" ref="Ghgsr" @callback="search" /> | |||||
| <SelectDeptUserDialog ref="selectDeptUserDialog" @change="ghgsrChange" /> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { studyFormPlan_list } from '@/api/business/study/studyFormPlan' | |||||
| import Bj from "./jhbd/Bj"; | |||||
| import Xq from "./jhbd/Xq"; | |||||
| import Sy from "./jhbd/Sy"; | |||||
| import Fh from "./jhbd/Fh"; | |||||
| import Ghgsr from "./jhbd/Ghgsr"; | |||||
| import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser'; | |||||
| import SelectDeptUserDialog from '@/views/business/comps/select/SelectDeptUserDialog'; | |||||
| import { mapGetters } from 'vuex' | |||||
| import moment from "moment"; | |||||
| export default { | |||||
| name: 'YtbdList', | |||||
| props: { | |||||
| study: { | |||||
| type: Object, | |||||
| default: () => { | |||||
| return {} | |||||
| } | |||||
| } | |||||
| }, | |||||
| computed: { | |||||
| ...mapGetters([ | |||||
| 'id' | |||||
| ]), | |||||
| }, | |||||
| watch: { | |||||
| study: { | |||||
| handler(newVal) { | |||||
| this.searchForm.studyId = newVal.studyId | |||||
| this.leader = newVal.leader | |||||
| this.search() | |||||
| }, | |||||
| immediate: true, | |||||
| deep: true | |||||
| } | |||||
| }, | |||||
| components: { Ghgsr, Fh, Bj, Xq, Sy, SelectDeptUser, SelectDeptUserDialog }, | |||||
| data() { | |||||
| return { | |||||
| leader: null, | |||||
| showFh: false, | |||||
| showAudit: false, | |||||
| showEdit: false, | |||||
| showDetail: false, | |||||
| daterange: [], | |||||
| searchForm: { | |||||
| pageNum: 1, | |||||
| pageSize: 10, | |||||
| studyId: '', | |||||
| bdbh: '', | |||||
| bdmc: '', | |||||
| userId: '', | |||||
| userMc: '', | |||||
| cjsjjs: '', | |||||
| cjsjks: '', | |||||
| }, | |||||
| loading: false, | |||||
| total: 0, | |||||
| list: [], | |||||
| currentRow: null | |||||
| } | |||||
| }, | |||||
| created() { }, | |||||
| methods: { | |||||
| ghgsr(row) { | |||||
| this.currentRow = row | |||||
| this.$refs.selectDeptUserDialog.show(null, null) | |||||
| }, | |||||
| ghgsrChange(val) { | |||||
| this.$refs.Ghgsr.show({ id: this.currentRow.id, userId: val.id, userMc: val.name }) | |||||
| }, | |||||
| userChange(val) { | |||||
| this.searchForm.userId = val.id | |||||
| this.searchForm.userMc = val.name | |||||
| this.search() | |||||
| }, | |||||
| search() { | |||||
| this.searchForm.pageNum = 1 | |||||
| this.getList() | |||||
| }, | |||||
| reset() { | |||||
| this.resetForm("searchForm") | |||||
| this.handleQuery() | |||||
| }, | |||||
| getList() { | |||||
| if (this.daterange != null && this.daterange.length > 0) { | |||||
| this.searchForm.cjsjks = this.daterange[0] | |||||
| this.searchForm.cjsjjs = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD'); | |||||
| } else { | |||||
| this.searchForm.cjsjks = '' | |||||
| this.searchForm.cjsjjs = '' | |||||
| } | |||||
| this.loading = true | |||||
| studyFormPlan_list(this.searchForm).then(response => { | |||||
| this.list = response.rows | |||||
| this.total = response.total | |||||
| this.loading = false | |||||
| }) | |||||
| }, | |||||
| add() { | |||||
| this.showEdit = true | |||||
| this.$emit('showDetail', this.showEdit) | |||||
| this.$refs.Bj.edit({ studyId: this.searchForm.studyId, studySubjectId: this.searchForm.studySubjectId }) | |||||
| }, | |||||
| edit(row) { | |||||
| this.showEdit = true | |||||
| this.$emit('showDetail', this.showEdit) | |||||
| this.$refs.Bj.edit(row) | |||||
| }, | |||||
| bjClose() { | |||||
| this.showEdit = false | |||||
| this.$emit('showDetail', this.showEdit) | |||||
| this.search() | |||||
| }, | |||||
| xqClose() { | |||||
| this.showDetail = false | |||||
| this.$emit('showDetail', this.showDetail) | |||||
| this.search() | |||||
| }, | |||||
| syClose() { | |||||
| this.showAudit = false | |||||
| this.$emit('showDetail', this.showAudit) | |||||
| this.search() | |||||
| }, | |||||
| fhClose() { | |||||
| this.showFh = false | |||||
| this.$emit('showDetail', this.showFh) | |||||
| this.search() | |||||
| }, | |||||
| detail(row) { | |||||
| this.showDetail = true | |||||
| this.$emit('showDetail', this.showDetail) | |||||
| this.$refs.Xq.show(row) | |||||
| }, | |||||
| sy(row) { | |||||
| this.showAudit = true | |||||
| this.$emit('showDetail', this.showAudit) | |||||
| this.$refs.Sy.show(row) | |||||
| }, | |||||
| fh(row) { | |||||
| this.showFh = true | |||||
| this.$emit('showDetail', this.showFh) | |||||
| this.$refs.Fh.show(row) | |||||
| }, | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .tbbd-list { | |||||
| .tbbd-search { | |||||
| background: #fff; | |||||
| padding: 10px; | |||||
| .right-btn { | |||||
| text-align: right | |||||
| } | |||||
| } | |||||
| .tbbd-content { | |||||
| background: #fff; | |||||
| padding: 10px; | |||||
| .add-box { | |||||
| margin-bottom: 10px; | |||||
| } | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,162 @@ | |||||
| <template> | |||||
| <div class="study-syxx"> | |||||
| <div class="syxx-top" v-show="!showDetail" style="margin-bottom: 10px;"> | |||||
| <div class="syxx-operate"> | |||||
| <div class="operate-img"></div> | |||||
| <div class="operate-left">{{ $t('page.business.study.studyFormPlan.syxx') }}</div> | |||||
| </div> | |||||
| <el-form ref="form" label-width="90px"> | |||||
| <el-row> | |||||
| <el-col :span="6"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormPlan.symc')"> | |||||
| {{ studyInfo.name }} | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="6"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormPlan.sybh')"> | |||||
| {{ studyInfo.sn }} | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="6"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormPlan.syfzr')"> | |||||
| {{ studyInfo.leaderName }} | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col :span="6"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormPlan.cjsj')"> | |||||
| {{ studyInfo.createTime }} | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-row> | |||||
| <el-col :span="24"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormPlan.syjj')"> | |||||
| {{ studyInfo.remark }} | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| <el-col> | |||||
| <el-button type="primary" @click="sdsy">{{ $t('page.business.study.studyFormPlan.sdsy') }}</el-button> | |||||
| </el-col> | |||||
| </el-row> | |||||
| </el-form> | |||||
| <div class="syxx-operate" style="margin-top: 10px;"> | |||||
| <div class="operate-img"></div> | |||||
| <div class="operate-left">{{ $t('page.business.study.studyFormPlan.syxkxx') }}</div> | |||||
| </div> | |||||
| <div style="display: flex;"> | |||||
| <div style="margin-right: 30px;" v-for="(item, index) in subjectList" :key="index"> | |||||
| {{ item.deptName }}({{ item.leaderName }}) | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="syxx-content"> | |||||
| <jhbdList :study="studyInfo" @showDetail="showDetailCallback" /> | |||||
| </div> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import jhbdList from './jhbdList.vue' | |||||
| import { study_info } from "@/api/business/study/study" | |||||
| import { studySubject_listByStudyId } from '@/api/business/study/studySubject' | |||||
| export default { | |||||
| name: 'StudyTbbd', | |||||
| props: { | |||||
| study: { | |||||
| type: Object, | |||||
| default: () => { | |||||
| return {} | |||||
| } | |||||
| } | |||||
| }, | |||||
| watch: { | |||||
| study: { | |||||
| immediate: true, | |||||
| handler(v) { | |||||
| this.id = v.id | |||||
| this.getStudyInfo() | |||||
| } | |||||
| }, | |||||
| }, | |||||
| components: { jhbdList }, | |||||
| data() { | |||||
| return { | |||||
| showDetail: false, | |||||
| id: {}, | |||||
| studyInfo:{}, | |||||
| subjectList: [] | |||||
| } | |||||
| }, | |||||
| created() { | |||||
| }, | |||||
| methods: { | |||||
| getstudySubject() { | |||||
| studySubject_listByStudyId({ studyId: this.id }).then(response => { | |||||
| this.subjectList = response.data; | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| }, | |||||
| getStudyInfo() { | |||||
| this.$modal.loading() | |||||
| study_info({ id: this.id }).then(response => { | |||||
| this.studyInfo = response.data | |||||
| this.getstudySubject() | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| }, | |||||
| sdsy() { | |||||
| alert('todo') | |||||
| }, | |||||
| showDetailCallback(val) { | |||||
| this.showDetail = val | |||||
| this.$emit('showDetail', val) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <style lang="scss" scoped> | |||||
| .study-syxx { | |||||
| .syxx-top { | |||||
| background: #fff; | |||||
| padding: 20px; | |||||
| width: 100%; | |||||
| .syxx-operate { | |||||
| margin: 0px 0 10px 0; | |||||
| display: flex; | |||||
| flex-direction: row; | |||||
| align-items: center; | |||||
| color: #409eff; | |||||
| .operate-img { | |||||
| flex-shrink: 0; | |||||
| height: 15px; | |||||
| background: #409eff; | |||||
| width: 3px; | |||||
| } | |||||
| .operate-left { | |||||
| flex-shrink: 0; | |||||
| font-weight: bold; | |||||
| padding-left: 10px; | |||||
| } | |||||
| .operate-right { | |||||
| flex-grow: 1; | |||||
| text-align: right; | |||||
| .operate-icon { | |||||
| cursor: pointer; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| .syxx-content { | |||||
| } | |||||
| } | |||||
| </style> | |||||
| @ -0,0 +1,250 @@ | |||||
| 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.studyFormFill.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.studyFormFill.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.studyFormFill.zc') }}</el-button> | |||||
| <el-button type="primary" @click="next">{{ $t('page.business.study.studyFormFill.next') }}</el-button> | |||||
| </template> | |||||
| <template v-else> | |||||
| <el-button @click="saveNext">{{ $t('page.business.study.studyFormFill.save') }}</el-button> | |||||
| <el-button type="primary" @click="openSubmit = true">{{ $t('page.business.study.studyFormFill.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.studyFormFill.sfbl')" prop="sfbl"> | |||||
| <el-radio-group v-model="form.sfbl"> | |||||
| <el-radio :label="1">{{ $t('page.business.study.studyFormFill.no') }}</el-radio> | |||||
| <el-radio :label="10">{{ $t('page.business.study.studyFormFill.yes') }}</el-radio> | |||||
| </el-radio-group> | |||||
| </el-form-item> | |||||
| </el-col> | |||||
| </el-row> | |||||
| <el-row> | |||||
| <el-col :span="24"> | |||||
| <el-form-item :label="$t('page.business.study.studyFormFill.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="preFill" /> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.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 { studyFormFill_bc, studyFormFill_tj, studyFormFill_info } from "@/api/business/study/studyFormFill" | |||||
| 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' | |||||
| }], | |||||
| sfbl: [{ | |||||
| 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, | |||||
| sfbl: 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() | |||||
| studyFormFill_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() | |||||
| studyFormFill_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() | |||||
| studyFormFill_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() | |||||
| studyFormFill_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.studyFormFill.fhjj') | |||||
| }}</el-button> | |||||
| <el-button type="primary" @click="showApprove('复核通过')">{{ $t('page.business.study.studyFormFill.fhtg') | |||||
| }}</el-button> | |||||
| <el-button type="primary" @click="showApprove('通过')">{{ $t('page.business.study.studyFormFill.tongguo') | |||||
| }}</el-button> | |||||
| </div> | |||||
| </div> | |||||
| <div class="edit-content"> | |||||
| <div class="content-left"> | |||||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="preFill" /> | |||||
| <div class="content-title"> | |||||
| <div class="line"></div> | |||||
| <div class="subtitle"> {{ $t('page.business.study.studyFormFill.qmxx') }}</div> | |||||
| </div> | |||||
| <div class="pal"> | |||||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmr')" align="center" prop="qmrMc" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmyy')" align="center" prop="qmyy" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmsj')" align="center" prop="createTime" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.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.studyFormFill.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.studyFormFill.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 { studyFormFill_fhtg, studyFormFill_fhjj, studyFormFill_tg, studyFormFill_info, studyFormFill_jcgj, studyFormFill_qmxx } from "@/api/business/study/studyFormFill" | |||||
| 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() | |||||
| studyFormFill_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 | |||||
| studyFormFill_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 | |||||
| studyFormFill_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.studyFormFill.fhtg' | |||||
| } else if (qmyy == '复核拒绝') { | |||||
| this.openTitle = 'page.business.study.studyFormFill.fhjj' | |||||
| } else if (qmyy == '通过') { | |||||
| this.openTitle = 'page.business.study.studyFormFill.tongguo' | |||||
| } | |||||
| }, | |||||
| 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 == '复核通过') { | |||||
| studyFormFill_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 | |||||
| studyFormFill_fhjj(this.formApprove).then(response => { | |||||
| this.openApprove = false | |||||
| this.$modal.closeLoading() | |||||
| this.$emit('close') | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } else { | |||||
| studyFormFill_tg(this.formApprove).then(response => { | |||||
| this.openApprove = false | |||||
| this.$modal.closeLoading() | |||||
| this.$emit('close') | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| @ -0,0 +1,115 @@ | |||||
| G<template> | |||||
| <div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.sqfz')" :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('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> | |||||
| <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 { studyFormFill_fz } from "@/api/business/study/studyFormFill" | |||||
| import { mapGetters } from 'vuex' | |||||
| export default { | |||||
| name: "Fz", | |||||
| components: {}, | |||||
| data() { | |||||
| return { | |||||
| isBatch: false, | |||||
| ids: [], | |||||
| selectList: [], | |||||
| open: false, | |||||
| form: {}, | |||||
| rules: { | |||||
| qmrmm: [{ | |||||
| required: true, | |||||
| message: ' ', | |||||
| trigger: 'blur' | |||||
| }], | |||||
| remark: [{ | |||||
| required: true, | |||||
| message: ' ', | |||||
| trigger: 'blur' | |||||
| }], | |||||
| } | |||||
| } | |||||
| }, | |||||
| computed: { | |||||
| ...mapGetters([ | |||||
| 'nickName' | |||||
| ]), | |||||
| }, | |||||
| created() { | |||||
| }, | |||||
| methods: { | |||||
| cancel() { | |||||
| this.open = false | |||||
| }, | |||||
| reset() { | |||||
| this.form = { | |||||
| id: null, | |||||
| qmyy: '申请废止', | |||||
| remark: null, | |||||
| qmrmm: null | |||||
| } | |||||
| this.resetForm("form") | |||||
| }, | |||||
| show(row) { | |||||
| this.reset() | |||||
| this.form.id = row.id | |||||
| this.open = true | |||||
| }, | |||||
| save() { | |||||
| this.$refs["form"].validate(valid => { | |||||
| if (valid) { | |||||
| studyFormFill_fz(this.form).then(response => { | |||||
| this.open = false | |||||
| this.$emit('callback') | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| @ -0,0 +1,125 @@ | |||||
| G<template> | |||||
| <div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.guancha')" :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('page.business.study.studyFormFill.szqk')" prop="qmyy"> | |||||
| <el-select v-model="form.qmyy" :placeholder="$t('form.placeholderSelect')" style="width: 100%;"> | |||||
| <el-option label="良好" value="良好" /> | |||||
| <el-option label="中" value="中" /> | |||||
| <el-option label="差" value="差" /> | |||||
| </el-select> | |||||
| </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> | |||||
| <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 { studyFormFill_gc } from "@/api/business/study/studyFormFill" | |||||
| import { mapGetters } from 'vuex' | |||||
| export default { | |||||
| name: "Fz", | |||||
| 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: null, | |||||
| remark: null, | |||||
| qmrmm: null | |||||
| } | |||||
| this.resetForm("form") | |||||
| }, | |||||
| show(row) { | |||||
| this.reset() | |||||
| this.form.id = row.id | |||||
| this.open = true | |||||
| }, | |||||
| save() { | |||||
| this.$refs["form"].validate(valid => { | |||||
| if (valid) { | |||||
| this.$modal.loading() | |||||
| studyFormFill_gc(this.form).then(response => { | |||||
| this.open = false | |||||
| this.$emit('callback') | |||||
| this.$modal.closeLoading() | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| @ -0,0 +1,126 @@ | |||||
| G<template> | |||||
| <div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.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.studyFormFill.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 { studyFormFill_ghgsr } from "@/api/business/study/studyFormFill" | |||||
| 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() | |||||
| studyFormFill_ghgsr(this.form).then(response => { | |||||
| this.open = false | |||||
| this.$emit('callback') | |||||
| this.$modal.closeLoading() | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| @ -0,0 +1,126 @@ | |||||
| G<template> | |||||
| <div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.jiaqian')" :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-select v-model="form.qmyy" :placeholder="$t('form.placeholderSelect')" style="width: 100%;"> | |||||
| <el-option label="开始现场复核" value="开始现场复核" /> | |||||
| <el-option label="结束现场复核" value="结束现场复核" /> | |||||
| <el-option label="申明协作" value="申明协作" /> | |||||
| <el-option label="补充说明" value="补充说明" /> | |||||
| </el-select> | |||||
| </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> | |||||
| <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 { studyFormFill_jq } from "@/api/business/study/studyFormFill" | |||||
| import { mapGetters } from 'vuex' | |||||
| export default { | |||||
| name: "Fz", | |||||
| 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: null, | |||||
| remark: null, | |||||
| qmrmm: null | |||||
| } | |||||
| this.resetForm("form") | |||||
| }, | |||||
| show(row) { | |||||
| this.reset() | |||||
| this.form.id = row.id | |||||
| this.open = true | |||||
| }, | |||||
| save() { | |||||
| this.$refs["form"].validate(valid => { | |||||
| if (valid) { | |||||
| this.$modal.loading() | |||||
| studyFormFill_jq(this.form).then(response => { | |||||
| this.open = false | |||||
| this.$emit('callback') | |||||
| this.$modal.closeLoading() | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||
| @ -0,0 +1,126 @@ | |||||
| G<template> | |||||
| <div> | |||||
| <el-dialog :title="$t('page.business.study.studyFormFill.qrfz')" :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="qmyymc"> | |||||
| <el-input type="text" :value="form.qmyymc" 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.studyFormFill.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" style="text-align: center;"> | |||||
| <el-button type="danger" @click="reject">{{ $t('page.business.study.studyFormFill.reject') }}</el-button> | |||||
| <el-button type="primary" @click="approve">{{ $t('page.business.study.studyFormFill.approve') }}</el-button> | |||||
| </div> | |||||
| </el-dialog> | |||||
| </div> | |||||
| </template> | |||||
| <script> | |||||
| import { studyFormFill_qrfz } from "@/api/business/study/studyFormFill" | |||||
| import { mapGetters } from 'vuex' | |||||
| export default { | |||||
| name: "Qrfz", | |||||
| components: {}, | |||||
| data() { | |||||
| return { | |||||
| isBatch: false, | |||||
| ids: [], | |||||
| selectList: [], | |||||
| open: false, | |||||
| form: {}, | |||||
| rules: { | |||||
| qmrmm: [{ | |||||
| required: true, | |||||
| message: ' ', | |||||
| trigger: 'blur' | |||||
| }], | |||||
| remark: [{ | |||||
| required: true, | |||||
| message: ' ', | |||||
| trigger: 'blur' | |||||
| }], | |||||
| } | |||||
| } | |||||
| }, | |||||
| computed: { | |||||
| ...mapGetters([ | |||||
| 'nickName' | |||||
| ]), | |||||
| }, | |||||
| created() { | |||||
| }, | |||||
| methods: { | |||||
| cancel() { | |||||
| this.open = false | |||||
| }, | |||||
| reset() { | |||||
| this.form = { | |||||
| id: null, | |||||
| qmyymc: '废止通过/拒绝', | |||||
| qmyy: null, | |||||
| remark: null, | |||||
| qmrmm: null | |||||
| } | |||||
| this.resetForm("form") | |||||
| }, | |||||
| show(row) { | |||||
| this.reset() | |||||
| this.form.id = row.id | |||||
| this.open = true | |||||
| }, | |||||
| reject() { | |||||
| this.form.qmyy = 1 | |||||
| this.save() | |||||
| }, | |||||
| approve() { | |||||
| this.form.qmyy = 10 | |||||
| this.save() | |||||
| }, | |||||
| save() { | |||||
| this.$refs["form"].validate(valid => { | |||||
| if (valid) { | |||||
| this.$modal.loading() | |||||
| studyFormFill_qrfz(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.studyFormFill.shenyue') | |||||
| }}</el-button> | |||||
| </div> | |||||
| </div> | |||||
| <div class="edit-content"> | |||||
| <div class="content-left"> | |||||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="preFill" /> | |||||
| <div class="content-title"> | |||||
| <div class="line"></div> | |||||
| <div class="subtitle"> {{ $t('page.business.study.studyFormFill.qmxx') }}</div> | |||||
| </div> | |||||
| <div class="pal"> | |||||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmr')" align="center" prop="qmrMc" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmyy')" align="center" prop="qmyy" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmsj')" align="center" prop="createTime" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.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.studyFormFill.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.studyFormFill.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 { studyFormFill_sy, studyFormFill_info, studyFormFill_jcgj, studyFormFill_qmxx } from "@/api/business/study/studyFormFill" | |||||
| 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() | |||||
| studyFormFill_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 | |||||
| studyFormFill_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 | |||||
| studyFormFill_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() | |||||
| studyFormFill_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.studyFormFill.tb') }}</el-button> | |||||
| </div> | |||||
| </div> | |||||
| <div class="edit-content "> | |||||
| <div class="content"> | |||||
| <div> | |||||
| <el-button type="primary" @click="dcqbjcgj">{{ $t('page.business.study.studyFormFill.dcqbjcgj') }} | |||||
| </el-button> | |||||
| <el-button type="primary" @click="dclcjcgj">{{ $t('page.business.study.studyFormFill.dclcjcgj') }} | |||||
| </el-button> | |||||
| <el-button type="primary" @click="dcbjjcgj">{{ $t('page.business.study.studyFormFill.dcbjjcgj') }} | |||||
| </el-button> | |||||
| <el-button type="primary" @click="dcxgjcgj">{{ $t('page.business.study.studyFormFill.dcxgjcgj') }} | |||||
| </el-button> | |||||
| <el-button type="primary" @click="dcbhsjgj">{{ $t('page.business.study.studyFormFill.dcbhsjgj') }} | |||||
| </el-button> | |||||
| </div> | |||||
| <TemplateTable ref="templateTable" :sn="form.templateSn" fillType="preFill" /> | |||||
| <div class="content-title"> | |||||
| <div class="line"></div> | |||||
| <div class="subtitle"> {{ $t('page.business.study.studyFormFill.qmxx') }}</div> | |||||
| </div> | |||||
| <div class="pal"> | |||||
| <el-table :data="qmxxList" v-loading="loadingQmxx"> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmr')" align="center" prop="qmrMc" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmyy')" align="center" prop="qmyy" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.qmsj')" align="center" prop="createTime" | |||||
| width="150px" /> | |||||
| <el-table-column :label="$t('page.business.study.studyFormFill.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.studyFormFill.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.studyFormFill.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.studyFormFill.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 { studyFormFill_tb, studyFormFill_info, studyFormFill_jcgj, studyFormFill_qmxx } from "@/api/business/study/studyFormFill" | |||||
| 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() | |||||
| studyFormFill_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 | |||||
| studyFormFill_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 | |||||
| studyFormFill_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() | |||||
| studyFormFill_tb(this.formApprove).then(response => { | |||||
| this.$emit('close') | |||||
| this.openApprove = false | |||||
| this.$modal.closeLoading() | |||||
| }).finally(() => { | |||||
| this.$modal.closeLoading() | |||||
| }) | |||||
| } | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| </script> | |||||