|
@@ -0,0 +1,311 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <el-form ref="form" :model="form" label-width="130px" border>
|
|
|
+ <table width="100%" border="1">
|
|
|
+ <tr>
|
|
|
+ <td colspan="2"><p class="title">发文起草</p></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <el-form-item label="缓急" prop="urgency">
|
|
|
+ <el-select v-model="form.ponderance" placeholder="请选择">
|
|
|
+ <el-option label="一般" value="4"></el-option>
|
|
|
+ <el-option label="平急" value="3"></el-option>
|
|
|
+ <el-option label="加急" value="2"></el-option>
|
|
|
+ <el-option label="特急" value="1"></el-option>
|
|
|
+ <el-option label="特提" value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <el-form-item label="密级" prop="encryption">
|
|
|
+ <el-select v-model="form.securityClass" placeholder="请选择">
|
|
|
+ <el-option label="一般" value="3"></el-option>
|
|
|
+ <el-option label="秘密" value="2"></el-option>
|
|
|
+ <el-option label="机密" value="1"></el-option>
|
|
|
+ <el-option label="绝密" value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="标题:" prop="fwtitle">
|
|
|
+ <el-input v-model="form.fwtitle" type="text" placeholder=""/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="部门:" prop="fwdept">
|
|
|
+ <el-input title="选择部门" v-model="form.fwdept" placeholder="请选择部门" prop="avtiveSend" :disabled="true">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="主送:" :disabled="true">
|
|
|
+ <el-input v-model="form.avtiveSend" placeholder="请选择主送人" prop="avtiveSend" :disabled="true">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label=" 抄送:" :disabled="true">
|
|
|
+ <el-input v-model="form.copyTo" placeholder="请选择抄送人" prop="copyTo" :disabled="true">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="附件:" prop="accessory">
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="正文:" prop="content">
|
|
|
+ <el-button size="small" type="primary" @click="openIweboffice">打开正文</el-button>
|
|
|
+ <el-input v-model="form.content" type="primary" placeholder=""/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr v-show="false">
|
|
|
+ <td>
|
|
|
+ <el-form-item label="actkey:" prop="mailTheme">
|
|
|
+ <el-input v-model="form.actkey" type="textarea" placeholder=""/>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr v-if="postForm.SelectUserType!=null&&postForm.SelectUserType.includes('custom')">
|
|
|
+ <td colspan="2">
|
|
|
+ <el-form-item label="选择下一步处理人:" :disabled="true">
|
|
|
+ <el-input v-model="postForm.sendUserRealName" placeholder="请选择下一步处理人"
|
|
|
+ prop="avtiveSend" :disabled="true">
|
|
|
+ <template slot="append">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleSelect()">
|
|
|
+ 选择人员
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer" v-show="open4">
|
|
|
+ <el-button type="primary" @click="submitToDo()">同意</el-button>
|
|
|
+ <el-button type="primary" @click="deleteToDo()">拒绝</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ <el-dialog id="content" title="正文修改" :visible.sync="contentOpen" :before-close="cancel" append-to-body
|
|
|
+ width="80%"
|
|
|
+ top="10" height="800px">
|
|
|
+ <!-- 动态引入组件-->
|
|
|
+ <i-web-office @func="getcontent" :fileData="fileData"></i-web-office>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <select-user-by-dept ref="selectUserByDept" :title="title" :open="Renopen" @ok="selectOK"/>
|
|
|
+
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import SelectUserByDept from '@/components/SelectRen/selectUserByDept'
|
|
|
+ import iWebOffice from './iWebOffice'
|
|
|
+ import SelectRen from '@/components/SelectRen'
|
|
|
+ import { treeselect } from '@/api/system/dept'
|
|
|
+ import { submitApply, getFormData, deleteToDoItem, submitToDoItem } from '@/api/activiti/form/fw'
|
|
|
+ import Treeselect from '@riophae/vue-treeselect'
|
|
|
+ import { getToken } from '@/utils/auth'
|
|
|
+
|
|
|
+ export default {
|
|
|
+
|
|
|
+ components: {
|
|
|
+ SelectUserByDept, iWebOffice, SelectRen,
|
|
|
+ Treeselect
|
|
|
+ },
|
|
|
+
|
|
|
+ props: {
|
|
|
+ data: '',
|
|
|
+ actOpen: false
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ Renopen: false,
|
|
|
+ contentOpen: false,
|
|
|
+ //正文的文件地址
|
|
|
+ fileData: {
|
|
|
+ filePath: '/profile/doc/inche.doc',
|
|
|
+ user: 'xxx'
|
|
|
+ },
|
|
|
+ // 弹出层标题
|
|
|
+ title: '',
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ // 表单参数
|
|
|
+ form: {
|
|
|
+ actkey: '',
|
|
|
+ content: '',
|
|
|
+ fwdept: '',
|
|
|
+ ponderance: '',
|
|
|
+ securityClass: '',
|
|
|
+ copyTo: '',
|
|
|
+ accessory: '',
|
|
|
+ avtiveSend: ''
|
|
|
+ }, // 表单参数
|
|
|
+ postForm: {
|
|
|
+ SelectUserType: '',
|
|
|
+ sendUserRealName: '',
|
|
|
+ sendUser: ''
|
|
|
+ },
|
|
|
+ flg: '',
|
|
|
+ // 判断是否为提交,还是添加
|
|
|
+ open4: false,
|
|
|
+ openSelectUser: false,
|
|
|
+ // 部门
|
|
|
+ deptOpen: false,
|
|
|
+ // 部门树选项
|
|
|
+ deptOptions: [],
|
|
|
+ // 部门id
|
|
|
+ depid: [],
|
|
|
+ depname: [],
|
|
|
+ // 上传参数
|
|
|
+ upload: {
|
|
|
+ // 上传的文件列表
|
|
|
+ fileList: []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+
|
|
|
+ this.flg = this.data.flg
|
|
|
+ this.form.actkey = this.data.getactkey
|
|
|
+ if (this.flg == '1') {
|
|
|
+ this.form = this.data
|
|
|
+ this.getDetails()
|
|
|
+ this.open4 = true
|
|
|
+ } else {
|
|
|
+ this.form = this.data
|
|
|
+ this.getDetails()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /** 写 选择人员 按钮弹窗操作 */
|
|
|
+ handleSelect() {
|
|
|
+ this.$refs.selectUserByDept.childOpen = true
|
|
|
+ this.Renopen = true
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ cancel() {
|
|
|
+ this.$emit('getList')
|
|
|
+ this.contentOpen = false
|
|
|
+ this.open = false
|
|
|
+ this.reset()
|
|
|
+
|
|
|
+ },
|
|
|
+ selectOK(zh, xm) {
|
|
|
+ this.postForm.sendUser = zh
|
|
|
+ this.postForm.sendUserRealName = xm
|
|
|
+ this.Renopen = false
|
|
|
+ },
|
|
|
+
|
|
|
+ //返回正文
|
|
|
+ getcontent(data) {
|
|
|
+ this.form.content = data
|
|
|
+ this.contentOpen = false
|
|
|
+ },
|
|
|
+
|
|
|
+ //获取详细信息,修改用到
|
|
|
+ getDetails() {
|
|
|
+ getFormData(this.form.formId).then(response => {
|
|
|
+ this.form = response.data
|
|
|
+ this.postForm.SelectUserType = response.data.SelectUserType
|
|
|
+ this.fileData.filePath = this.form.content
|
|
|
+ this.fileData.user = this.form.user
|
|
|
+ this.upload.fileList = [{
|
|
|
+ name: this.form.accessory,
|
|
|
+ url: process.env.VUE_APP_BASE_API + this.form.accessory
|
|
|
+ }]
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //打开weboffice 页面添加正文
|
|
|
+ openIweboffice() {
|
|
|
+ // this.$router.push({path:'/actwork/fw/iweboffice'})
|
|
|
+ this.contentOpen = true
|
|
|
+ },
|
|
|
+ //同意
|
|
|
+ submitToDo() {
|
|
|
+ this.loading = true
|
|
|
+ submitToDoItem(this.form.taskid, this.postForm).then(response => {
|
|
|
+ this.msgSuccess('提交成功')
|
|
|
+ this.$emit('getList')
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //拒绝按钮
|
|
|
+ deleteToDo() {
|
|
|
+ this.$confirm('是否确认拒绝这这个申请吗?', '警告', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ deleteToDoItem(this.form.taskid).then(response => {
|
|
|
+ this.msgSuccess('拒绝成功')
|
|
|
+ this.$emit('getList')
|
|
|
+ })
|
|
|
+
|
|
|
+ }).catch(() => {
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+ .apple {
|
|
|
+ width: 150px;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+
|
|
|
+ .title {
|
|
|
+ font-size: 30px;
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .bottom10 {
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-dialog__title {
|
|
|
+ text-align: center;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ table {
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 10px !important;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dialog-footer {
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 20px;
|
|
|
+ }
|
|
|
+</style>
|