<template>
|
|
<div>
|
|
<div class="edit-container" v-if="open">
|
|
<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.studyFormApply.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.studyFormApply.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.studyFormApply.zc') }}</el-button>
|
|
<el-button type="primary" @click="next">{{ $t('page.business.study.studyFormApply.next') }}</el-button>
|
|
</template>
|
|
<template v-else>
|
|
<el-button @click="saveNext">{{ $t('page.business.study.studyFormApply.save') }}</el-button>
|
|
<el-button type="primary" @click="showtijjiao">{{ $t('page.business.study.studyFormApply.submit')
|
|
}}</el-button>
|
|
<el-button type="primary" @click="pre">{{ $t('page.business.study.studyFormApply.pre') }}</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.bdmb')" prop="templateId">
|
|
<SelectTemplate v-model="form.templateId" :studyType="studyType" :studyFormType="studyFormType" :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.studyFormApply.sfbl')" prop="sfbl">
|
|
<el-select v-model="form.sfbl" :placeholder="$t('form.placeholderSelect')" style="width: 100%;">
|
|
<el-option :label="$t('page.business.study.studyFormApply.yes')" value="是" />
|
|
<el-option :label="$t('page.business.study.studyFormApply.no')" value="否" />
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="24">
|
|
<el-form-item :label="$t('page.business.study.studyFormApply.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-if="showIndex == 2">
|
|
<TemplateTable ref="templateTable" emitName="onApplyCallback" @onApplyCallback="onApplyCallback"
|
|
:sn="form.templateSn" :templateData="templateData" fillType="actFill" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-dialog :title="$t('page.business.study.studyFormApply.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" v-if="openSubmit">
|
|
<div class="sbzdtcma"> <input type="text"> <input type="password" show-password> </div>
|
|
<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">
|
|
<div class="sbzdtcma"> <input type="text"></div>
|
|
<el-input type="password" show-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="tj">{{ $t('form.confirm') }}</el-button>
|
|
<el-button @click="openSubmit = false">{{ $t('form.cancel') }}</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { studyFormApply_bc, studyFormApply_bcOnly, studyFormApply_tj, studyFormApply_info, studyFormApply_updateBdnr, studyFormApply_updateFhyjjl } from "@/api/business/study/studyFormApply"
|
|
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';
|
|
import { deepClone, caesarDecipher } from "@/utils/index";
|
|
|
|
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'
|
|
}],
|
|
|
|
},
|
|
templateData: {},
|
|
studyType: null,
|
|
studyFormType:null
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters([
|
|
'nickName', 'name'
|
|
]),
|
|
},
|
|
created() {
|
|
},
|
|
methods: {
|
|
onApplyCallback(data) {
|
|
console.log("data:" + JSON.stringify(data))
|
|
console.log("formdata:" + JSON.stringify(this.$refs.templateTable.getFilledFormData()))
|
|
if (data.type == 'fieldChanged') {
|
|
studyFormApply_updateBdnr(
|
|
{
|
|
id: this.form.id,
|
|
bdnr: JSON.stringify(this.$refs.templateTable.getFilledFormData()),
|
|
zdxgjl: JSON.stringify(data.resourceList),
|
|
filedValue: JSON.stringify(data.newRecord)
|
|
}
|
|
).then(response => {
|
|
})
|
|
}
|
|
else if (data.type == 'reply') {
|
|
studyFormApply_updateFhyjjl(
|
|
{
|
|
id: this.form.id,
|
|
reply: JSON.stringify(data.newRecord),
|
|
fhyjjl: JSON.stringify(data.resourceList)
|
|
}
|
|
).then(response => {
|
|
})
|
|
}
|
|
},
|
|
pre() {
|
|
this.showIndex = 1
|
|
},
|
|
next() {
|
|
this.$refs["form"].validate(valid => {
|
|
if (valid) {
|
|
this.$modal.loading()
|
|
studyFormApply_bcOnly(this.form).then(response => {
|
|
this.form = response.data
|
|
this.templateData.bdmc = this.form.bdmc
|
|
this.showIndex = 2
|
|
this.$modal.closeLoading()
|
|
}).finally(() => {
|
|
this.$modal.closeLoading()
|
|
})
|
|
}
|
|
})
|
|
},
|
|
selectTemplateChange(val) {
|
|
this.form.bdmc = val.name
|
|
this.form.bdnr = val.content
|
|
this.form.templateMc = val.name
|
|
this.form.templateSn = val.sn
|
|
this.templateData = deepClone(this.form)
|
|
},
|
|
cancel() {
|
|
this.$emit('close')
|
|
this.open = false
|
|
},
|
|
reset() {
|
|
this.form = {
|
|
id: null,
|
|
studyId: null,
|
|
bdbh: null,
|
|
bdmc: '麻精药领取申请单',
|
|
bdsm: null,
|
|
templateId: 2,
|
|
templateMc: '麻精药领取申请单',
|
|
templateSn: 'MJYLQSQD',
|
|
bdnr: null,
|
|
fzrsh: null,
|
|
shryId: null,
|
|
sfbl: null,
|
|
qmyy: this.$t('page.business.study.studyFormApply.cjjl'),
|
|
shryMc: null,
|
|
}
|
|
this.resetForm("form")
|
|
},
|
|
selectDeptUserChange(val) {
|
|
this.form.shryMc = val.name
|
|
},
|
|
edit(row) {
|
|
this.reset()
|
|
this.studyType = row.studyType||null
|
|
this.studyFormType = row.studyFormType||null
|
|
if (row && row.id) {
|
|
this.showIndex = 2
|
|
this.$modal.loading()
|
|
studyFormApply_info({ id: row.id }).then(response => {
|
|
this.form = _.merge({}, this.form, response.data)
|
|
this.templateData = deepClone(this.form)
|
|
this.open = true
|
|
}).finally(() => {
|
|
this.$modal.closeLoading()
|
|
})
|
|
} else {
|
|
this.showIndex = 1
|
|
this.form = _.merge({}, this.form, row)
|
|
this.templateData = deepClone(this.form)
|
|
this.open = true
|
|
}
|
|
},
|
|
save() {
|
|
this.$refs["form"].validate(valid => {
|
|
if (valid) {
|
|
this.$modal.loading()
|
|
studyFormApply_bc(this.form).then(response => {
|
|
this.$emit('close')
|
|
this.open = false
|
|
}).finally(() => {
|
|
this.$modal.closeLoading()
|
|
})
|
|
}
|
|
})
|
|
},
|
|
async showtijjiao() {
|
|
let content = await this.$refs.templateTable.getFormData()
|
|
if (content) {
|
|
this.form.bdnr = JSON.stringify(content)
|
|
this.openSubmit = true
|
|
}
|
|
},
|
|
async saveNext() {
|
|
this.form.bdnr = JSON.stringify(this.$refs.templateTable.getFilledFormData())
|
|
this.$modal.loading()
|
|
studyFormApply_bc(this.form).then(response => {
|
|
this.$emit('close')
|
|
this.open = false
|
|
}).finally(() => {
|
|
this.$modal.closeLoading()
|
|
})
|
|
},
|
|
tj() {
|
|
this.$refs["formSubmit"].validate(valid => {
|
|
if (valid) {
|
|
this.$modal.loading()
|
|
studyFormApply_tj(this.form).then(response => {
|
|
this.$emit('close')
|
|
this.openSubmit = false
|
|
this.open = false
|
|
}).finally(() => {
|
|
this.$modal.closeLoading()
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|