9 changed files with 1410 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||||
|
import request from '@/utils/request' |
||||
|
import qs from 'qs' |
||||
|
|
||||
|
// 盖章申请管理分页列表
|
||||
|
export function listPage(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bussealapply/listPage', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 盖章申请管理保存(新增、编辑)
|
||||
|
export function save(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bussealapply/save', |
||||
|
method: 'post', |
||||
|
data: data, |
||||
|
headers: { |
||||
|
'Content-Type': 'application/json' |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 盖章申请管理分页列表删除
|
||||
|
export function delBySids(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bussealapply/delBySids?sids=' + data, |
||||
|
method: 'DELETE', |
||||
|
data: qs.stringify(data) |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 盖章申请管理根据Sid获取一条记录
|
||||
|
export function fetchDetailsBySid(data) { |
||||
|
return request({ |
||||
|
url: '/buscenter/v1/bussealapply/fetchDetailsBySid/' + data, |
||||
|
method: 'get' |
||||
|
}) |
||||
|
} |
||||
|
|
||||
|
// 数据字典
|
||||
|
export function dataDictionary(data) { |
||||
|
return request({ |
||||
|
url: '/portal/v1/dictcommons/typeValues', |
||||
|
method: 'get', |
||||
|
params: data |
||||
|
}) |
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-upload class="avatar-uploader" :action="uploadFile" :accept="accept" :file-list="files" :limit="limit" :on-remove="removeImage" :on-success="uploadImgSuccess_FuJian"> |
||||
|
<el-button size="small" type="primary">选择文件</el-button> |
||||
|
</el-upload> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { uploadFile } from '@/api/jichuxinxi/file.js' |
||||
|
|
||||
|
export default { |
||||
|
props: { |
||||
|
accept: { |
||||
|
type: String, |
||||
|
default: '.doc, .docx, .ftl' |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
accessToken: null, |
||||
|
uploadFile: uploadFile, |
||||
|
files: [], |
||||
|
limit: 1 |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
show(row) { |
||||
|
this.files.push({ |
||||
|
name: row |
||||
|
}) |
||||
|
}, |
||||
|
// 上传方案--成功后执行 |
||||
|
uploadImgSuccess_FuJian(response, file) { |
||||
|
console.log('您选择的file:', file) |
||||
|
if (file.response.code === '200') { |
||||
|
this.files.push({ |
||||
|
name: file.response.data.sourceFileName, |
||||
|
url: file.response.data.fullUrl, |
||||
|
size: file.response.data.size |
||||
|
}) |
||||
|
this.$emit('fileAdd', this.files) |
||||
|
} |
||||
|
}, |
||||
|
removeImage(file) { |
||||
|
this.files.splice(this.files.indexOf(file), 1) |
||||
|
const imgFiles = [] |
||||
|
this.files.forEach((o) => { |
||||
|
imgFiles.push(o.url) |
||||
|
}) |
||||
|
this.$emit('fileDelete', this.files) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped></style> |
@ -0,0 +1,80 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-upload class="upload-demo" action="" :data="datas" :accept="accept" :on-change="handleChange" :on-remove="handleRemove" :file-list="fileList_FuJian" :http-request="uploadSectionFile"> |
||||
|
<el-button size="small" type="primary">选择文件</el-button> |
||||
|
<div slot="tip" v-show="reminder == true" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型: {{ accept }}</div> |
||||
|
</el-upload> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import {upload, uploadFile} from '@/api/business/beiAn' |
||||
|
export default { |
||||
|
props: { |
||||
|
placeholder: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
// 由父组件根据不同需求传参数,设置接受上传的文件类型 |
||||
|
accept: { |
||||
|
type: String, |
||||
|
default: '' |
||||
|
}, |
||||
|
// 设置提示能否展示 |
||||
|
reminder: { |
||||
|
type: Boolean, |
||||
|
default: true |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
datas: null, |
||||
|
name: null, |
||||
|
accessToken: {}, |
||||
|
fileList_FuJian: [], |
||||
|
enclosure: '', |
||||
|
file_add: '', |
||||
|
idsz: '', |
||||
|
file_catch: '', |
||||
|
files_list: [] |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
show(val) { |
||||
|
console.log(val) |
||||
|
this.fileList_FuJian = val |
||||
|
}, |
||||
|
handleChange(file, fileList) { |
||||
|
}, |
||||
|
handleRemove(file, fileList) { |
||||
|
this.$emit("handleRemove", file) |
||||
|
}, |
||||
|
// 上传文件 FrontPhoto |
||||
|
uploadSectionFile(params) { |
||||
|
const file = params.file |
||||
|
// 根据后台需求数据格式 |
||||
|
const form = new FormData() |
||||
|
// 文件对象 |
||||
|
form.append('file', file) |
||||
|
// 项目封装的请求方法,下面做简单介绍 |
||||
|
upload(form).then((res) => { |
||||
|
// 自行处理各种情况 |
||||
|
if (res.code === '200') { |
||||
|
this.$emit('handleSuccess', res) |
||||
|
} |
||||
|
if (res.msg == '操作成功') { |
||||
|
this.$message({ |
||||
|
message: '上传成功!', |
||||
|
type: 'success' |
||||
|
}) |
||||
|
} |
||||
|
}).catch((err) => { |
||||
|
console.log(err) |
||||
|
// 如果等于备案,就调备案图片上传接口 |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped></style> |
@ -0,0 +1,210 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<div> |
||||
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handsave()">保存 |
||||
|
</el-button> |
||||
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交 |
||||
|
</el-button> |
||||
|
<el-button type="info" size="small" @click="handleReturn()">返回</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="listconadd"> |
||||
|
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="100px" class="formadd"> |
||||
|
<div class="wlInfo"><span>盖章申请单</span></div> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">申请人</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.applyName" placeholder="" style="width: 50%" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">盖章日期</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.sealDate" clearable style="width: 50%" type="date" placeholder="请选择"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章类型</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-select v-model="formobj.sealTypeValue" style="width: 50%" filterable @change="changeSealType" placeholder="请选择"> |
||||
|
<el-option v-for="item in sealType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/> |
||||
|
</el-select> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章个数</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.sealNum" placeholder="" style="width: 50%"clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>文章名称或盖章事由</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.fileNameOrSealReason" placeholder="" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" style="width: 85%" resize="none" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章文件</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<Upload style="float:left;" :accept="accept" ref="divUpload" :reminder="false" @handleSuccess="filesAdd" @handleRemove="filesRemove" /> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { dataDictionary, fetchDetailsBySid, save } from '@/api/sealContract/sealContract.js' |
||||
|
import Upload from '@/components/uploadFile/filesUpload' // 上传文件 |
||||
|
|
||||
|
export default { |
||||
|
name: 'gaizhangAdd', |
||||
|
components: { |
||||
|
Upload |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
sealType_list: [], |
||||
|
list1: [], |
||||
|
accept: '.jpg,.jpeg,.png,.JPG,.JPEG', |
||||
|
formobj: { |
||||
|
sid: '', |
||||
|
applyName: window.sessionStorage.getItem('name'), |
||||
|
sealDate: '', |
||||
|
sealTypeValue: '', // 盖章类型 |
||||
|
sealTypekey: '', |
||||
|
sealNum: '', // 盖章个数 |
||||
|
fileNameOrSealReason: '', // 文章名称或盖章事由 |
||||
|
sealFileUrl: '', |
||||
|
useOrgSid: '', |
||||
|
busSealApplyAppendices: [] // 盖章文件 |
||||
|
}, |
||||
|
rules: {}, |
||||
|
submitdisabled: false |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.DataDictionary() |
||||
|
}, |
||||
|
methods: { |
||||
|
DataDictionary() { |
||||
|
dataDictionary({ type: 'sealType' }).then((res) => { |
||||
|
if (res.code === '200') { |
||||
|
this.sealType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
showAdd() { |
||||
|
this.viewTitle = '【新建】盖章申请' |
||||
|
}, |
||||
|
showEdit(row) { |
||||
|
this.viewTitle = '【编辑】盖章申请' |
||||
|
fetchDetailsBySid(row.sid).then(resp => { |
||||
|
if (resp.code === '200') { |
||||
|
this.formobj = resp.data |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
for (var i = 0; i < this.formobj.busSealApplyAppendices.length; i++) { |
||||
|
this.list1.push({ |
||||
|
name: this.formobj.busSealApplyAppendices[i].fileName |
||||
|
} |
||||
|
) |
||||
|
} |
||||
|
} |
||||
|
console.log(this.formobj.busSealApplyAppendices) |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['divUpload'].show(this.list1) |
||||
|
}) |
||||
|
} |
||||
|
}).catch(e => { |
||||
|
this.formobj = row |
||||
|
}) |
||||
|
}, |
||||
|
changeSealType(value) { |
||||
|
const choosetItem = this.sealType_list.filter((item) => item.dictValue === value) |
||||
|
this.formobj.sealTypekey = choosetItem[0].dictKey |
||||
|
}, |
||||
|
filesAdd(item) { |
||||
|
var arrayList = [] |
||||
|
console.log(item) |
||||
|
arrayList = item.data |
||||
|
this.formobj.busSealApplyAppendices.push({ |
||||
|
createBySid: window.sessionStorage.getItem('staffSid'), |
||||
|
name: window.sessionStorage.getItem('name'), |
||||
|
fileName: arrayList.sourceFileName.substr(0, arrayList.sourceFileName.lastIndexOf('.')), |
||||
|
fileType: arrayList.sourceFileName.substr(arrayList.sourceFileName.lastIndexOf('.')), |
||||
|
linkSid: '', |
||||
|
attachType: '', |
||||
|
fileSize: arrayList.size, |
||||
|
filePath: arrayList.fullUrl |
||||
|
}) |
||||
|
}, |
||||
|
filesRemove(item) { |
||||
|
this.formobj.busSealApplyAppendices.forEach((e, index) => { |
||||
|
if (e.filePath === item) { |
||||
|
this.formobj.sealFileList.splice(index, 1) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handsave() { |
||||
|
// this.submitdisabled = true |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
var sealFileUrl_list = [] |
||||
|
for (var i = 0; i < this.formobj.busSealApplyAppendices.length; i++) { |
||||
|
sealFileUrl_list.push(this.formobj.busSealApplyAppendices[i].filePath) |
||||
|
} |
||||
|
this.formobj.sealFileUrl = sealFileUrl_list.join(',') |
||||
|
} |
||||
|
console.log(this.formobj) |
||||
|
save(this.formobj).then(resp => { |
||||
|
this.submitdisabled = false |
||||
|
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
||||
|
this.handleReturn() |
||||
|
}).catch(() => { |
||||
|
this.submitdisabled = false |
||||
|
}) |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.wlInfo { |
||||
|
padding: 60px 0; |
||||
|
font-size: 24px; |
||||
|
border-width: 0 0 1px 0; |
||||
|
border-style: solid; |
||||
|
border-color: #EDF1F7; |
||||
|
font-weight: bold; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.tleftb { |
||||
|
text-align: right; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,140 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<div> |
||||
|
<el-button type="info" size="small" @click="handleReturn()">返回</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="listconadd"> |
||||
|
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="100px" class="formadd"> |
||||
|
<div class="wlInfo"><span>盖章申请单</span></div> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">申请人</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.applyName }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">盖章日期</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.sealDate }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章类型</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<span>{{ formobj.sealTypeValue }}</span> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章个数</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.sealNum }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>文章名称或盖章事由</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.fileNameOrSealReason }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章文件</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span v-for="(item, index) in list1" :key="index"> |
||||
|
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
||||
|
</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { fetchDetailsBySid } from '@/api/sealContract/sealContract.js' |
||||
|
|
||||
|
export default { |
||||
|
name: 'gaizhangInfo', |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
list1: [], |
||||
|
formobj: { |
||||
|
sid: '', |
||||
|
applyName: window.sessionStorage.getItem('name'), |
||||
|
sealDate: '', |
||||
|
sealTypeValue: '', // 盖章类型 |
||||
|
sealTypekey: '', |
||||
|
sealNum: '', // 盖章个数 |
||||
|
fileNameOrSealReason: '', // 文章名称或盖章事由 |
||||
|
sealFileUrl: '', |
||||
|
useOrgSid: '', |
||||
|
busSealApplyAppendices: [] // 盖章文件 |
||||
|
}, |
||||
|
rules: {}, |
||||
|
submitdisabled: false |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
showInfo(row) { |
||||
|
this.viewTitle = '盖章申请单详情' |
||||
|
fetchDetailsBySid(row.sid).then(resp => { |
||||
|
if (resp.code === '200') { |
||||
|
this.formobj = resp.data |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
this.formobj.busSealApplyAppendices.forEach((e) => { |
||||
|
this.list1.push({ |
||||
|
name: e.fileName, |
||||
|
path: e.filePath |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}).catch(e => { |
||||
|
this.formobj = row |
||||
|
}) |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.wlInfo { |
||||
|
padding: 60px 0; |
||||
|
font-size: 24px; |
||||
|
border-width: 0 0 1px 0; |
||||
|
border-style: solid; |
||||
|
border-color: #EDF1F7; |
||||
|
font-weight: bold; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.tleftb { |
||||
|
text-align: right; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,248 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div v-show="viewState == 1"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<div>盖章申请管理</div> |
||||
|
<div> |
||||
|
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button> |
||||
|
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button> |
||||
|
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="webcon"> |
||||
|
<div class="searchcon"> |
||||
|
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> |
||||
|
<div v-show="isSearchShow" class="search"> |
||||
|
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> |
||||
|
<el-row> |
||||
|
<el-form-item label="文件名称:" class="searchlist"> |
||||
|
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="盖章日期:" class="searchlist"> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.sealStartDate" clearable style="width: 160px" type="date" placeholder="开始日期"/> |
||||
|
<div class="line">至</div> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.sealEndDate" clearable style="width: 160px" type="date" placeholder="结束日期"/> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
<div class="searchbtns"> |
||||
|
<el-button type="primary" @click="handleFilter">查询</el-button> |
||||
|
<el-button type="primary" @click="handReset">重置</el-button> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div> |
||||
|
<div class="listtop"> |
||||
|
<div class="tit">盖章申请列表</div> |
||||
|
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
||||
|
</div> |
||||
|
<div class=""> |
||||
|
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange"> |
||||
|
<el-table-column type="selection" align="center" width="50"/> |
||||
|
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/> |
||||
|
<el-table-column label="操作" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="primary" size="small" @click="handUpdate(scope.row)">办理</el-button> |
||||
|
<el-button type="primary" size="small" @click="handLook(scope.row)">查看</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="状态" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.applyName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="申请人" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.applyName }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="盖章日期" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.sealDate }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="盖章类型" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.sealTypeValue }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="文件名称" align="center"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ scope.row.fileNameOrSealReason }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
<div class="pages"> |
||||
|
<!-- 翻页 --> |
||||
|
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<gaizhangAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState"/> |
||||
|
<gaizhangInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { listPage, delBySids } from '@/api/sealContract/sealContract.js' |
||||
|
import Pagination from '@/components/pagination' |
||||
|
import pageye from '@/components/pagination/pageye' |
||||
|
import gaizhangAdd from './gaizhangAdd.vue' |
||||
|
import gaizhangInfo from './gaizhangInfo.vue' |
||||
|
|
||||
|
export default { |
||||
|
name: 'gaizhangguanli', |
||||
|
components: { |
||||
|
Pagination, |
||||
|
pageye, |
||||
|
gaizhangAdd, |
||||
|
gaizhangInfo |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
isSearchShow: false, |
||||
|
searchxianshitit: '隐藏查询条件', |
||||
|
viewState: 1, |
||||
|
tableKey: 0, |
||||
|
list: [], |
||||
|
sids: [], |
||||
|
listLoading: false, |
||||
|
listQuery: { |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
params: { |
||||
|
fileNameOrSealReason: '', |
||||
|
sealStartDate: '', |
||||
|
sealEndDate: '', |
||||
|
userSid: window.sessionStorage.getItem('staffSid') |
||||
|
}, |
||||
|
total: 0 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 搜索条件效果 |
||||
|
clicksearchShow() { |
||||
|
this.isSearchShow = !this.isSearchShow |
||||
|
if (this.isSearchShow) { |
||||
|
this.searchxianshitit = '隐藏查询条件' |
||||
|
} else { |
||||
|
this.searchxianshitit = '显示查询条件' |
||||
|
} |
||||
|
}, |
||||
|
// 序号 |
||||
|
indexMethod(index) { |
||||
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size |
||||
|
var pageindex = index + 1 + pagestart |
||||
|
return pageindex |
||||
|
}, |
||||
|
// 勾选 |
||||
|
handleSelectionChange(row) { |
||||
|
const aa = [] |
||||
|
row.forEach((element) => { |
||||
|
aa.push(element.sid) |
||||
|
}) |
||||
|
this.sids = aa |
||||
|
console.log('勾选记录', this.sids) |
||||
|
}, |
||||
|
// 查询列表信息 |
||||
|
getList() { |
||||
|
this.listLoading = true |
||||
|
listPage(this.listQuery).then((response) => { |
||||
|
this.listLoading = false |
||||
|
if (response.code === '200') { |
||||
|
this.listQuery.total = response.data.total |
||||
|
this.list = response.data.records |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 查询按钮 |
||||
|
handleFilter() { |
||||
|
this.getList() |
||||
|
}, |
||||
|
handReset() { |
||||
|
this.listQuery = { |
||||
|
current: 1, |
||||
|
size: 10, |
||||
|
params: { |
||||
|
fileNameOrSealReason: '', |
||||
|
sealStartDate: '', |
||||
|
sealEndDate: '', |
||||
|
userSid: window.sessionStorage.getItem('staffSid') |
||||
|
}, |
||||
|
total: 0 |
||||
|
} |
||||
|
this.getList() |
||||
|
}, |
||||
|
handleCreate() { |
||||
|
this.viewState = 2 |
||||
|
this.$refs['divAdd'].showAdd() |
||||
|
}, |
||||
|
handUpdate(row) { |
||||
|
this.viewState = 3 |
||||
|
this.$refs['divAdd'].showEdit(row) |
||||
|
}, |
||||
|
handlook(row) { |
||||
|
this.viewState = 4 |
||||
|
this.$refs['divInfo'].showInfo(row) |
||||
|
}, |
||||
|
handleDelete() { |
||||
|
if (this.sids.length) { |
||||
|
delBySids(this.sids).then((response) => { |
||||
|
if (response.code === '200') { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '删除成功', |
||||
|
type: 'success', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
this.getList() |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '删除失败', |
||||
|
message: response.msg, |
||||
|
type: 'error' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '没有选择信息!', |
||||
|
type: 'error', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
return |
||||
|
} |
||||
|
}, |
||||
|
resetState() { |
||||
|
this.viewState = 1 |
||||
|
this.handReset() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style scoped> |
||||
|
.listtop { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
border: 1px solid #dfe4ed; |
||||
|
height: 40px; |
||||
|
} |
||||
|
.tit { |
||||
|
margin-bottom: -10px; |
||||
|
} |
||||
|
.pagination { |
||||
|
margin-bottom: -10px; |
||||
|
} |
||||
|
.line { |
||||
|
display: inline-block; |
||||
|
margin: 0px 15px; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,237 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<div> |
||||
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handsave()">保存 |
||||
|
</el-button> |
||||
|
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交 |
||||
|
</el-button> |
||||
|
<el-button type="info" size="small" @click="handleReturn()">返回</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="listconadd"> |
||||
|
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="100px" class="formadd"> |
||||
|
<div class="wlInfo"><span>盖章申请单</span></div> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">申请人</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.applyName" placeholder="" style="width: 50%" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">盖章日期</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-date-picker value-format="yyyy-MM-dd" v-model="formobj.sealDate" clearable style="width: 50%" type="date" placeholder="请选择"/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章类型</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-select v-model="formobj.sealTypeValue" style="width: 50%" filterable @change="changeSealType" placeholder="请选择"> |
||||
|
<el-option v-for="item in sealType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/> |
||||
|
</el-select> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章个数</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.sealNum" placeholder="" style="width: 50%"clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>文章名称或盖章事由</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="formobj.fileNameOrSealReason" placeholder="" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" style="width: 85%" resize="none" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章文件</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<Upload style="float:left;" :accept="accept" ref="divUpload" :reminder="false" @handleSuccess="filesAdd" @handleRemove="filesRemove" /> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { dataDictionary, fetchDetailsBySid, save } from '@/api/sealContract/sealContract.js' |
||||
|
import Upload from '@/components/uploadFile/filesUpload' // 上传文件 |
||||
|
|
||||
|
export default { |
||||
|
name: 'gaizhangAdd', |
||||
|
components: { |
||||
|
Upload |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
sealType_list: [], |
||||
|
list1: [], |
||||
|
accept: '.jpg,.jpeg,.png,.JPG,.JPEG', |
||||
|
formobj: { |
||||
|
sid: '', |
||||
|
applyName: window.sessionStorage.getItem('name'), |
||||
|
sealDate: '', |
||||
|
sealTypeValue: '', // 盖章类型 |
||||
|
sealTypekey: '', |
||||
|
sealNum: '', // 盖章个数 |
||||
|
fileNameOrSealReason: '', // 文章名称或盖章事由 |
||||
|
sealFileUrl: '', |
||||
|
useOrgSid: '', |
||||
|
businessSid: '', // 业务sid |
||||
|
instanceId: '', // 流程id |
||||
|
taskId: '', // 环节id |
||||
|
busSealApplyAppendices: [] // 盖章文件 |
||||
|
}, |
||||
|
rules: {}, |
||||
|
submitdisabled: false |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
this.DataDictionary() |
||||
|
console.log('url:' + window.location.href) |
||||
|
var a = window.location.href.indexOf('?') + 1 // 第一个?后面的一个字符的位置 |
||||
|
var b = window.location.href.indexOf('#data') // 第一个#data出现的位置 |
||||
|
const info = window.location.href.slice(a, b) |
||||
|
var sid = info.substr(info.indexOf('=') + 1) |
||||
|
this.showInfo(sid) |
||||
|
// ===获取参数 |
||||
|
var one = window.location.href.lastIndexOf('#') + 1 |
||||
|
var two = window.location.href.lastIndexOf('}') + 1 |
||||
|
const data = decodeURI(window.location.href.slice(one, two)) // url解码unescape()已从web中移除,尽量不使用 |
||||
|
var tar = data.substr(data.indexOf('=') + 1) |
||||
|
const obj = JSON.parse(tar) |
||||
|
console.log('iframe页面获取的obj:', obj) |
||||
|
// 同意列表 |
||||
|
this.formobj.businessSid = sid |
||||
|
this.formobj.instanceId = obj.instanceId |
||||
|
this.formobj.taskId = obj.taskId |
||||
|
}, |
||||
|
methods: { |
||||
|
DataDictionary() { |
||||
|
dataDictionary({ type: 'sealType' }).then((res) => { |
||||
|
if (res.code === '200') { |
||||
|
this.sealType_list = res.data |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
showAdd() { |
||||
|
this.viewTitle = '【新建】盖章申请' |
||||
|
}, |
||||
|
showInfo(sid) { |
||||
|
this.viewTitle = '【编辑】盖章申请' |
||||
|
fetchDetailsBySid(sid).then(resp => { |
||||
|
if (resp.code === '200') { |
||||
|
this.formobj.sid = sid |
||||
|
this.formobj.sealDate = resp.data.sealDate |
||||
|
this.formobj.sealTypeValue = resp.data.sealTypeValue |
||||
|
this.formobj.sealTypekey = resp.data.sealTypekey |
||||
|
this.formobj.sealNum = resp.data.sealNum |
||||
|
this.formobj.fileNameOrSealReason = resp.data.fileNameOrSealReason |
||||
|
this.formobj.sealFileUrl = resp.data.sealFileUrl |
||||
|
this.formobj.busSealApplyAppendices = resp.data.busSealApplyAppendices |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
for (var i = 0; i < this.formobj.busSealApplyAppendices.length; i++) { |
||||
|
this.list1.push({ |
||||
|
name: this.formobj.busSealApplyAppendices[i].fileName |
||||
|
} |
||||
|
) |
||||
|
} |
||||
|
} |
||||
|
console.log(this.formobj.busSealApplyAppendices) |
||||
|
this.$nextTick(() => { |
||||
|
this.$refs['divUpload'].show(this.list1) |
||||
|
}) |
||||
|
} |
||||
|
}).catch(e => { |
||||
|
this.formobj = row |
||||
|
}) |
||||
|
}, |
||||
|
changeSealType(value) { |
||||
|
const choosetItem = this.sealType_list.filter((item) => item.dictValue === value) |
||||
|
this.formobj.sealTypekey = choosetItem[0].dictKey |
||||
|
}, |
||||
|
filesAdd(item) { |
||||
|
var arrayList = [] |
||||
|
console.log(item) |
||||
|
arrayList = item.data |
||||
|
this.formobj.busSealApplyAppendices.push({ |
||||
|
createBySid: window.sessionStorage.getItem('staffSid'), |
||||
|
name: window.sessionStorage.getItem('name'), |
||||
|
fileName: arrayList.sourceFileName.substr(0, arrayList.sourceFileName.lastIndexOf('.')), |
||||
|
fileType: arrayList.sourceFileName.substr(arrayList.sourceFileName.lastIndexOf('.')), |
||||
|
linkSid: '', |
||||
|
attachType: '', |
||||
|
fileSize: arrayList.size, |
||||
|
filePath: arrayList.fullUrl |
||||
|
}) |
||||
|
}, |
||||
|
filesRemove(item) { |
||||
|
this.formobj.busSealApplyAppendices.forEach((e, index) => { |
||||
|
if (e.filePath === item) { |
||||
|
this.formobj.sealFileList.splice(index, 1) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handsave() { |
||||
|
// this.submitdisabled = true |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
var sealFileUrl_list = [] |
||||
|
for (var i = 0; i < this.formobj.busSealApplyAppendices.length; i++) { |
||||
|
sealFileUrl_list.push(this.formobj.busSealApplyAppendices[i].filePath) |
||||
|
} |
||||
|
this.formobj.sealFileUrl = sealFileUrl_list.join(',') |
||||
|
} |
||||
|
console.log(this.formobj) |
||||
|
save(this.formobj).then(resp => { |
||||
|
this.submitdisabled = false |
||||
|
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
||||
|
this.handleReturn() |
||||
|
}).catch(() => { |
||||
|
this.submitdisabled = false |
||||
|
}) |
||||
|
}, |
||||
|
handleReturn() { |
||||
|
this.$emit('doback') |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.wlInfo { |
||||
|
padding: 60px 0; |
||||
|
font-size: 24px; |
||||
|
border-width: 0 0 1px 0; |
||||
|
border-style: solid; |
||||
|
border-color: #EDF1F7; |
||||
|
font-weight: bold; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.tleftb { |
||||
|
text-align: right; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,366 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="tab-header webtop"> |
||||
|
<div>{{ viewTitle }}</div> |
||||
|
<div> |
||||
|
<el-button v-show="transactState=='00'" type="primary" @click="openAgree">同 意</el-button> |
||||
|
<el-button v-show="transactState=='00'" type="danger" @click="openReject">驳 回</el-button> |
||||
|
<el-button v-show="transactState=='00'" type="danger" @click="openStop">终 止</el-button> |
||||
|
<el-button v-show="transactState=='01'" type="danger" @click="openRevoke">撤 回 </el-button> |
||||
|
<el-button type="info">关 闭</el-button> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="listconadd"> |
||||
|
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" label-width="100px" class="formadd"> |
||||
|
<div class="wlInfo"><span>盖章申请单</span></div> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">申请人</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.applyName }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span slot="label">盖章日期</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.sealDate }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章类型</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<span>{{ formobj.sealTypeValue }}</span> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章个数</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="6" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.sealNum }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>文章名称或盖章事由</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span>{{ formobj.fileNameOrSealReason }}</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-col :span="6" class="tleftb"> |
||||
|
<el-form-item><span>盖章文件</span></el-form-item> |
||||
|
</el-col> |
||||
|
<el-col :span="18" class="trightb"> |
||||
|
<el-form-item> |
||||
|
<span v-for="(item, index) in list1" :key="index"> |
||||
|
<el-link :underline="false" :href="item.path" target="_blank">{{ item.name }}</el-link> |
||||
|
</span> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<div v-show="transactState=='00'"> |
||||
|
<el-form :model="dialogList" :inline="true" label-width="80px"> |
||||
|
<el-row> |
||||
|
<el-col> |
||||
|
<el-form-item label="审批意见"> |
||||
|
<el-input v-model="dialogList.comment" type="textarea" maxlength="20" placeholder="请输入审批意见" class="inputType" clearable/> |
||||
|
</el-form-item> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { fetchDetailsBySid } from '@/api/sealContract/sealContract.js' |
||||
|
|
||||
|
export default { |
||||
|
name: 'gaizhangshenqingInfo', |
||||
|
data() { |
||||
|
return { |
||||
|
viewTitle: '', |
||||
|
list1: [], |
||||
|
formobj: { |
||||
|
sid: '', |
||||
|
applyName: window.sessionStorage.getItem('name'), |
||||
|
sealDate: '', |
||||
|
sealTypeValue: '', // 盖章类型 |
||||
|
sealTypekey: '', |
||||
|
sealNum: '', // 盖章个数 |
||||
|
fileNameOrSealReason: '', // 文章名称或盖章事由 |
||||
|
sealFileUrl: '', |
||||
|
useOrgSid: '', |
||||
|
busSealApplyAppendices: [] // 盖章文件 |
||||
|
}, |
||||
|
dialogList: { |
||||
|
comment: '' |
||||
|
}, |
||||
|
transactState: '', // 办理状态 |
||||
|
// 同意办理列表 |
||||
|
agreeList: { |
||||
|
businessSid: '', |
||||
|
comment: '', |
||||
|
instanceId: '', |
||||
|
taskId: '', |
||||
|
userSid: window.sessionStorage.getItem('userSid') |
||||
|
}, |
||||
|
// 驳回列表 |
||||
|
regectList: { |
||||
|
businessSid: '', |
||||
|
comment: '', |
||||
|
instanceId: '', |
||||
|
taskId: '', |
||||
|
userSid: window.sessionStorage.getItem('userSid') |
||||
|
}, |
||||
|
// 终止列表 |
||||
|
stopList: { |
||||
|
businessSid: '', |
||||
|
comment: '', |
||||
|
instanceId: '', |
||||
|
taskId: '', |
||||
|
userSid: window.sessionStorage.getItem('userSid') |
||||
|
}, |
||||
|
// 撤回 |
||||
|
revokeList: { |
||||
|
businessSid: '', |
||||
|
comment: '', |
||||
|
instanceId: '', |
||||
|
taskId: '', |
||||
|
userSid: window.sessionStorage.getItem('userSid') |
||||
|
}, |
||||
|
rules: {}, |
||||
|
submitdisabled: false |
||||
|
} |
||||
|
}, |
||||
|
created() { |
||||
|
console.log('url:' + window.location.href) |
||||
|
var a = window.location.href.indexOf('?') + 1 // 第一个?后面的一个字符的位置 |
||||
|
var b = window.location.href.indexOf('#data') // 第一个#data出现的位置 |
||||
|
const info = window.location.href.slice(a, b) |
||||
|
var sid = info.substr(info.indexOf('=') + 1) |
||||
|
this.showInfo(sid) |
||||
|
// ===获取参数 |
||||
|
var one = window.location.href.lastIndexOf('#') + 1 |
||||
|
var two = window.location.href.lastIndexOf('}') + 1 |
||||
|
const data = decodeURI(window.location.href.slice(one, two)) // url解码unescape()已从web中移除,尽量不使用 |
||||
|
var tar = data.substr(data.indexOf('=') + 1) |
||||
|
const obj = JSON.parse(tar) |
||||
|
console.log('iframe页面获取的obj:', obj) |
||||
|
// 同意列表 |
||||
|
this.agreeList.businessSid = sid |
||||
|
this.agreeList.instanceId = obj.instanceId |
||||
|
this.agreeList.taskId = obj.taskId |
||||
|
// 驳回列表 |
||||
|
this.regectList.businessSid = sid |
||||
|
this.regectList.instanceId = obj.instanceId |
||||
|
this.regectList.taskId = obj.taskId |
||||
|
// 终止列表 |
||||
|
this.stopList.businessSid = sid |
||||
|
this.stopList.instanceId = obj.instanceId |
||||
|
this.stopList.taskId = obj.taskId |
||||
|
// 撤回列表 |
||||
|
this.revokeList.businessSid = sid |
||||
|
this.revokeList.instanceId = obj.instanceId |
||||
|
this.revokeList.taskId = obj.taskId |
||||
|
// 办理状态 |
||||
|
this.transactState = obj.transactState |
||||
|
}, |
||||
|
methods: { |
||||
|
showInfo(row) { |
||||
|
this.viewTitle = '盖章申请单详情' |
||||
|
fetchDetailsBySid(row.sid).then(resp => { |
||||
|
if (resp.code === '200') { |
||||
|
this.formobj = resp.data |
||||
|
if (this.formobj.busSealApplyAppendices.length > 0) { |
||||
|
this.formobj.busSealApplyAppendices.forEach((e) => { |
||||
|
this.list1.push({ |
||||
|
name: e.fileName, |
||||
|
path: e.filePath |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}).catch(e => { |
||||
|
this.formobj = row |
||||
|
}) |
||||
|
}, |
||||
|
// 同意 |
||||
|
openAgree() { |
||||
|
this.$confirm('是否确认执行同意操作', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.handleAgree() |
||||
|
}).catch(() => { |
||||
|
this.$message({ |
||||
|
type: 'info', |
||||
|
message: '已取消同意' |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 驳回 |
||||
|
openReject() { |
||||
|
this.$confirm('是否确认执行驳回操作', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.handleReject() |
||||
|
}).catch(() => { |
||||
|
this.$message({ |
||||
|
type: 'info', |
||||
|
message: '已取消驳回' |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 终止 |
||||
|
openStop() { |
||||
|
this.$confirm('是否确认执行终止操作', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.handleStop() |
||||
|
}).catch(() => { |
||||
|
this.$message({ |
||||
|
type: 'info', |
||||
|
message: '已取消终止' |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
/** 确认撤回任务 */ |
||||
|
openRevoke() { |
||||
|
this.$confirm('是否确认执行撤回操作', '提示', { |
||||
|
confirmButtonText: '确定', |
||||
|
cancelButtonText: '取消', |
||||
|
type: 'warning' |
||||
|
}).then(() => { |
||||
|
this.handleRevoke() |
||||
|
}).catch(() => { |
||||
|
this.$message({ |
||||
|
type: 'info', |
||||
|
message: '已取消撤回' |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
/** 同意任务 */ |
||||
|
handleAgree() { |
||||
|
this.agreeList.comment = this.dialogList.comment |
||||
|
req.businessAgree(this.agreeList).then((response) => { |
||||
|
if (response.code === '200') { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行成功', |
||||
|
type: 'success', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
this.refreshIt() |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行失败', |
||||
|
type: 'error', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
/** 终止任务 */ |
||||
|
handleStop() { |
||||
|
this.stopList.comment = this.dialogList.comment |
||||
|
req.breakTask(this.stopList).then((response) => { |
||||
|
if (response.code === '200') { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行成功', |
||||
|
type: 'success', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行失败', |
||||
|
type: 'error', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
/** 驳回任务 */ |
||||
|
handleReject() { |
||||
|
this.regectList.comment = this.dialogList.comment |
||||
|
req.rejectTask(this.regectList).then((response) => { |
||||
|
if (response.code === '200') { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行成功', |
||||
|
type: 'success', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行失败', |
||||
|
type: 'error', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
/** 撤回任务 */ |
||||
|
handleRevoke() { |
||||
|
this.revokeList.comment = this.dialogList.comment |
||||
|
req.revokeTask(this.revokeList).then((response) => { |
||||
|
if (response.code === '200') { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行成功', |
||||
|
type: 'success', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} else { |
||||
|
this.$notify({ |
||||
|
title: '提示', |
||||
|
message: '执行失败', |
||||
|
type: 'error', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.wlInfo { |
||||
|
padding: 60px 0; |
||||
|
font-size: 24px; |
||||
|
border-width: 0 0 1px 0; |
||||
|
border-style: solid; |
||||
|
border-color: #EDF1F7; |
||||
|
font-weight: bold; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.tleftb { |
||||
|
text-align: right; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue