Commit ba27f08f authored by wanghf's avatar wanghf

Merge remote-tracking branch '云效/test'

parents 74aff799 7ba953de
...@@ -77,3 +77,12 @@ export function delOnlineTaskInfo(id) { ...@@ -77,3 +77,12 @@ export function delOnlineTaskInfo(id) {
method: 'get' method: 'get'
}) })
} }
//签署合同文件
export function signContractFile(data) {
return request({
url: '/business/onlineTaskInfo/signContractFile',
method: 'post',
data: data
})
}
import request from '@/utils/request'
// 查询电子章信息列表
export function listSealCompanyInfo(query) {
return request({
url: '/business/sealCompanyInfo/list',
method: 'get',
params: query
})
}
// 查询电子章信息所有列表
export function listAllSealCompanyInfo(query) {
return request({
url: '/business/sealCompanyInfo/listAll',
method: 'get',
params: query
})
}
// 查询电子章信息详细
export function getSealCompanyInfo(id) {
return request({
url: '/business/sealCompanyInfo/getInfo/' + id,
method: 'get'
})
}
// 新增电子章信息
export function addSealCompanyInfo(data) {
return request({
url: '/business/sealCompanyInfo/add',
method: 'post',
data: data
})
}
// 修改电子章信息
export function updateSealCompanyInfo(data) {
return request({
url: '/business/sealCompanyInfo/edit',
method: 'post',
data: data
})
}
// 删除电子章信息
export function delSealCompanyInfo(id) {
return request({
url: '/business/sealCompanyInfo/remove/' + id,
method: 'get'
})
}
//电子签章前置校验
export function makeSealPreCheck(id , type) {
return request({
url: '/business/sealCompanyInfo/makeSealPreCheck',
method: 'get',
params: {
id: id,
type: type
}
})
}
//获取企业已提交信息
export function getSubmittedCompanyInfo(id , type) {
return request({
url: '/business/sealCompanyInfo/getSubmittedCompanyInfo',
method: 'get',
params: {
id: id,
type: type
}
})
}
// 新增电子章信息--up
export function saveSealCompanyInfo(data) {
return request({
url: '/business/sealCompanyInfo/saveSealCompanyInfo',
method: 'post',
data: data,
timeout: 1000 * 60 * 2
})
}
//制作电子章
export function makeSeaApil(id) {
return request({
url: '/business/sealCompanyInfo/makeSeal' ,
method: 'get',
params: {
id: id
},
timeout: 1000 * 60 * 3
})
}
//查询电子章信息
export function querySealPicApi(id) {
return request({
url: '/business/sealCompanyInfo/querySealPic' ,
method: 'get',
params:{
id: id
},
timeout: 1000 * 60 * 3
})
}
import request from '@/utils/request'
// 查询企业电子章盖章记录信息列表
export function listSealCompanyInfoLog(query) {
return request({
url: '/business/sealCompanyInfoLog/list',
method: 'get',
params: query
})
}
// 查询企业电子章盖章记录信息所有列表
export function listAllSealCompanyInfoLog(query) {
return request({
url: '/business/sealCompanyInfoLog/listAll',
method: 'get',
params: query
})
}
// 查询企业电子章盖章记录信息详细
export function getSealCompanyInfoLog(id) {
return request({
url: '/business/sealCompanyInfoLog/getInfo/' + id,
method: 'get'
})
}
// 新增企业电子章盖章记录信息
export function addSealCompanyInfoLog(data) {
return request({
url: '/business/sealCompanyInfoLog/add',
method: 'post',
data: data
})
}
// 修改企业电子章盖章记录信息
export function updateSealCompanyInfoLog(data) {
return request({
url: '/business/sealCompanyInfoLog/edit',
method: 'post',
data: data
})
}
// 删除企业电子章盖章记录信息
export function delSealCompanyInfoLog(id) {
return request({
url: '/business/sealCompanyInfoLog/remove/' + id,
method: 'get'
})
}
import request from '@/utils/request'
// 查询睿印-模板盖章位置列表
export function listSealLocation(query) {
return request({
url: '/business/sealLocation/list',
method: 'get',
params: query
})
}
// 查询睿印-模板盖章位置所有列表
export function listAllSealLocation(query) {
return request({
url: '/business/sealLocation/listAll',
method: 'get',
params: query
})
}
// 查询睿印-模板盖章位置详细
export function getSealLocation(id) {
return request({
url: '/business/sealLocation/getInfo/' + id,
method: 'get'
})
}
// 新增睿印-模板盖章位置
export function addSealLocation(data) {
return request({
url: '/business/sealLocation/add',
method: 'post',
data: data
})
}
// 修改睿印-模板盖章位置
export function updateSealLocation(data) {
return request({
url: '/business/sealLocation/edit',
method: 'post',
data: data
})
}
// 删除睿印-模板盖章位置
export function delSealLocation(id) {
return request({
url: '/business/sealLocation/remove/' + id,
method: 'get'
})
}
import request from '@/utils/request'
// 查询睿印-凭证模板配置列表
export function listTemplateConfig(query) {
return request({
url: '/business/templateConfig/list',
method: 'get',
params: query
})
}
// 查询睿印-凭证模板配置所有列表
export function listAllTemplateConfig(query) {
return request({
url: '/business/templateConfig/listAll',
method: 'get',
params: query
})
}
// 查询睿印-凭证模板配置详细
export function getTemplateConfig(id) {
return request({
url: '/business/templateConfig/getInfo/' + id,
method: 'get'
})
}
// 新增睿印-凭证模板配置
export function addTemplateConfig(data) {
return request({
url: '/business/templateConfig/add',
method: 'post',
data: data
})
}
// 修改睿印-凭证模板配置
export function updateTemplateConfig(data) {
return request({
url: '/business/templateConfig/edit',
method: 'post',
data: data
})
}
// 删除睿印-凭证模板配置
export function delTemplateConfig(id) {
return request({
url: '/business/templateConfig/remove/' + id,
method: 'get'
})
}
...@@ -76,12 +76,12 @@ ...@@ -76,12 +76,12 @@
</el-row> </el-row>
<el-row :gutter="56"> <el-row :gutter="56">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证正面" prop="legalIdPicFront"> <el-form-item label="法人身份证人像" prop="legalIdPicFront">
<image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证背面" prop="legalIdPicBack"> <el-form-item label="法人身份证国徽" prop="legalIdPicBack">
<image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -146,7 +146,7 @@ export default { ...@@ -146,7 +146,7 @@ export default {
{ required: true, message: "法人联系邮箱不能为空", trigger: "blur" } { required: true, message: "法人联系邮箱不能为空", trigger: "blur" }
], ],
legalIdPicFront: [ legalIdPicFront: [
{ required: true, message: "法人身份证正面不能为空", trigger: "blur" } { required: true, message: "法人身份证人像不能为空", trigger: "blur" }
], ],
legalIdPicBack: [ legalIdPicBack: [
{ required: true, message: "法人身份证号背面不能为空", trigger: "blur" } { required: true, message: "法人身份证号背面不能为空", trigger: "blur" }
......
...@@ -76,12 +76,12 @@ ...@@ -76,12 +76,12 @@
</el-row> </el-row>
<el-row :gutter="56"> <el-row :gutter="56">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证正面" prop="legalIdPicFront"> <el-form-item label="法人身份证人像" prop="legalIdPicFront">
<image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证背面" prop="legalIdPicBack"> <el-form-item label="法人身份证国徽" prop="legalIdPicBack">
<image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -193,7 +193,7 @@ export default { ...@@ -193,7 +193,7 @@ export default {
{ required: true, message: "法人联系邮箱不能为空", trigger: "blur" } { required: true, message: "法人联系邮箱不能为空", trigger: "blur" }
], ],
legalIdPicFront: [ legalIdPicFront: [
{ required: true, message: "法人身份证正面不能为空", trigger: "blur" } { required: true, message: "法人身份证人像不能为空", trigger: "blur" }
], ],
legalIdPicBack: [ legalIdPicBack: [
{ required: true, message: "法人身份证号背面不能为空", trigger: "blur" } { required: true, message: "法人身份证号背面不能为空", trigger: "blur" }
......
...@@ -78,6 +78,24 @@ ...@@ -78,6 +78,24 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
v-if="scope.row.signetId == null"
size="mini"
type="text"
icon="el-icon-info"
@click="makeSealPre(scope.row)"
>生成电子签章
</el-button>
<el-button
v-if="scope.row.signetId != null"
size="mini"
type="text"
icon="el-icon-edit"
@click="viewSealInfo(scope.row)"
>查看电子签章
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
...@@ -130,7 +148,8 @@ ...@@ -130,7 +148,8 @@
<script> <script>
import { listCompanyInfo, getCompanyInfo, delCompanyInfo, addCompanyInfo, updateCompanyInfo } from "@/api/business/companyInfo"; import { listCompanyInfo, getCompanyInfo, delCompanyInfo, addCompanyInfo, updateCompanyInfo } from "@/api/business/companyInfo";
import { deptTreeSelect } from '@/api/system/user' import { deptTreeSelect } from '@/api/system/user';
import {makeSealPreCheck} from "@/api/business/sealCompanyInfo";
export default { export default {
name: "CompanyInfo", name: "CompanyInfo",
...@@ -283,6 +302,27 @@ export default { ...@@ -283,6 +302,27 @@ export default {
this.download('business/companyInfo/export', { this.download('business/companyInfo/export', {
...this.queryParams ...this.queryParams
}, `companyInfo_${new Date().getTime()}.xlsx`) }, `companyInfo_${new Date().getTime()}.xlsx`)
},
/** 生成电子签章 */
makeSealPre(row) {
const type = "hr";
//是否确认生成电子签章 ,如果确认,调用接口生成电子签章,然后跳转到电子签章页面
this.$modal.confirm('是否确认为【'+row.companyName+'】企业生成电子签章?').then(() => {
makeSealPreCheck(row.id,type).then(response => {
console.log(response.code == 200)
if (response.code == 200) {
//校验完成 前往生成电子签章页面 sealCompanyInfo/index
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type, showFlag:1 } })
}else {
this.$modal.msgError(response.msg)
}
})
})
},
/** 查看电子签章 */
viewSealInfo(row) {
const type = "hr";
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type, showFlag:0 } })
} }
} }
}; };
......
...@@ -81,12 +81,12 @@ ...@@ -81,12 +81,12 @@
</el-row> </el-row>
<el-row :gutter="56"> <el-row :gutter="56">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证正面" prop="legalIdPicFront"> <el-form-item label="法人身份证人像" prop="legalIdPicFront">
<image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证背面" prop="legalIdPicBack"> <el-form-item label="法人身份证国徽" prop="legalIdPicBack">
<image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -163,7 +163,7 @@ export default { ...@@ -163,7 +163,7 @@ export default {
} }
], ],
legalIdPicFront: [ legalIdPicFront: [
{ required: true, message: "法人身份证正面不能为空", trigger: "blur" } { required: true, message: "法人身份证人像不能为空", trigger: "blur" }
], ],
legalIdPicBack: [ legalIdPicBack: [
{ required: true, message: "法人身份证号背面不能为空", trigger: "blur" } { required: true, message: "法人身份证号背面不能为空", trigger: "blur" }
......
...@@ -76,12 +76,12 @@ ...@@ -76,12 +76,12 @@
</el-row> </el-row>
<el-row :gutter="56"> <el-row :gutter="56">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证正面" prop="legalIdPicFront"> <el-form-item label="法人身份证人像" prop="legalIdPicFront">
<image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicFront" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="法人身份证背面" prop="legalIdPicBack"> <el-form-item label="法人身份证国徽" prop="legalIdPicBack">
<image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload> <image-upload v-model="form.legalIdPicBack" :limit="1"></image-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -197,7 +197,7 @@ export default { ...@@ -197,7 +197,7 @@ export default {
} }
], ],
legalIdPicFront: [ legalIdPicFront: [
{ required: true, message: "法人身份证正面不能为空", trigger: "blur" } { required: true, message: "法人身份证人像不能为空", trigger: "blur" }
], ],
legalIdPicBack: [ legalIdPicBack: [
{ required: true, message: "法人身份证号背面不能为空", trigger: "blur" } { required: true, message: "法人身份证号背面不能为空", trigger: "blur" }
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="onlineTaskInfoList" @selection-change="handleSelectionChange"> <el-table :data="onlineTaskInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务编号" align="center" prop="taskNo" /> <el-table-column label="任务编号" align="center" prop="taskNo" />
<el-table-column label="任务名称" align="center" prop="taskName" /> <el-table-column label="任务名称" align="center" prop="taskName" />
...@@ -83,12 +83,12 @@ ...@@ -83,12 +83,12 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button> <el-button size="mini" type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button>
<el-button v-if="scope.row.status == 10" size="mini" type="text" icon="el-icon-s-promotion" <el-button v-if="scope.row.status == 10 && checkPermi(['business:onlineTaskInfo:release'])" size="mini"
v-hasPermi="['business:onlineTaskInfo:release']" @click="handleRelease(scope.row)">发布任务</el-button> type="text" icon="el-icon-s-promotion" @click="handleRelease(scope.row)">发布任务</el-button>
<el-button v-if="scope.row.status == 11" size="mini" type="text" icon="el-icon-s-promotion" <el-button v-if="scope.row.status == 11 && checkPermi(['business:onlineTaskInfo:recived'])" size="mini"
v-hasPermi="['business:onlineTaskInfo:recived']" @click="handleRecived(scope.row)">接收任务</el-button> type="text" icon="el-icon-s-promotion" @click="handleRecived(scope.row)">接收任务</el-button>
<el-button v-if="scope.row.status == 21" size="mini" type="text" icon="el-icon-upload" <el-button v-if="scope.row.status == 21 && checkPermi(['business:onlineTaskInfo:importPayInfo'])" size="mini"
v-hasPermi="['business:onlineTaskInfo:importPayInfo']" @click="importPayInfo(scope.row)">导入名单</el-button> type="text" icon="el-icon-upload" @click="importPayInfo(scope.row)">导入名单</el-button>
<!-- <el-button--> <!-- <el-button-->
<!-- size="mini"--> <!-- size="mini"-->
<!-- type="text"--> <!-- type="text"-->
...@@ -111,10 +111,11 @@ ...@@ -111,10 +111,11 @@
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改线上任务信息对话框 --> <!-- 添加或修改线上任务信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body center> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body center>
<el-steps :active="active" finish-status="success" simple style="margin-top: 20px"> <el-steps :active="active" finish-status="success" simple style="margin-top: 20px">
<el-step title="1、基础信息"></el-step> <el-step title="1、基础信息"></el-step>
<el-step title="2、确认合同"></el-step> <el-step title="2、确认签订合同"></el-step>
<el-step title="3、发布任务"></el-step>
</el-steps> </el-steps>
<div style="margin-top: 20px;" v-if="active == 1"> <div style="margin-top: 20px;" v-if="active == 1">
...@@ -123,7 +124,7 @@ ...@@ -123,7 +124,7 @@
<el-input v-model="form.taskNo" placeholder="请输入任务编号" disabled /> <el-input v-model="form.taskNo" placeholder="请输入任务编号" disabled />
</el-form-item> </el-form-item>
<el-form-item label="发起企业" prop="companyId"> <el-form-item label="发起企业" prop="companyId">
<el-select v-model="form.companyId" placeholder="请选择发起企业" clearable @change="applyCompanyChange"> <el-select v-model="form.companyId" placeholder="请选择发起企业" @change="applyCompanyChange">
<el-option v-for="item in applyCompanyList" :key="item.id" :label="item.companyName" <el-option v-for="item in applyCompanyList" :key="item.id" :label="item.companyName"
:value="item.id"></el-option> :value="item.id"></el-option>
</el-select> </el-select>
...@@ -134,8 +135,8 @@ ...@@ -134,8 +135,8 @@
<el-form-item label="所属行业" prop="industry"> <el-form-item label="所属行业" prop="industry">
<el-input v-model="form.industry" placeholder="请输入所属行业" /> <el-input v-model="form.industry" placeholder="请输入所属行业" />
</el-form-item> </el-form-item>
<el-form-item label="代发企业" prop="taxCompanySignId"> <el-form-item label="代发企业" prop="taxCompanyId">
<el-select v-model="form.taxCompanySignId" placeholder="请选择代发企业" clearable @change="taxCompanyChange"> <el-select v-model="form.taxCompanyId" placeholder="请选择代发企业" clearable @change="taxCompanyChange">
<el-option v-for="item in taxCompanyList" :key="item.id" :label="item.taxUnitName" <el-option v-for="item in taxCompanyList" :key="item.id" :label="item.taxUnitName"
:value="item.id"></el-option> :value="item.id"></el-option>
</el-select> </el-select>
...@@ -144,7 +145,8 @@ ...@@ -144,7 +145,8 @@
<!-- <el-input v-model="form.araeCode" placeholder="请输入地区code" />--> <!-- <el-input v-model="form.araeCode" placeholder="请输入地区code" />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="所在区域" prop="area"> <el-form-item label="所在区域" prop="area">
<el-cascader style="width: 100%;" size="small" :options="options" v-model="form.selectedOptions" @change="handleChange" /> <el-cascader style="width: 100%;" size="small" :options="options" v-model="form.selectedOptions"
@change="handleChange" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="所在区域" prop="area"> <!-- <el-form-item label="所在区域" prop="area">
<el-input v-model="form.area" placeholder="请输入所在区域" /> <el-input v-model="form.area" placeholder="请输入所在区域" />
...@@ -176,14 +178,19 @@ ...@@ -176,14 +178,19 @@
</div> </div>
</div> </div>
<div class="demo-form" v-if="active == 2"> <div class="demo-form" v-if="active == 2">
<!-- TODO 待优化 pdf预览 -->
<div style="margin: 20px;padding: 20px;"> <div style="margin: 20px;padding: 20px;">
<iframe <iframe :src=this.contractUrl style="width:100%;height:600px;" frameborder="0"></iframe>
src="http://admin.xinruit.com/stage-api/profile/upload/2025/04/17/712c806c-969a-4a6f-b1c8-14e66fc4b5d9.pdf"
style="width:100%;height:545px;" frameborder="0"></iframe>
</div> </div>
<div slot="footer" class="dialog-footer" style="text-align: center;"> <div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="handlePrev">上一步</el-button> <el-button type="primary" @click="handlePrev">上一步</el-button>
<el-button type="primary" @click.native="confirmSealContractFile">确认签订合同</el-button>
</div>
</div>
<div class="demo-form" v-if="active == 3">
<div style="margin: 20px;padding: 20px;">
<iframe :src=this.contractUrl style="width:100%;height:600px;" frameborder="0"></iframe>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitFormUp(10)">提 交</el-button> <el-button type="primary" @click="submitFormUp(10)">提 交</el-button>
<el-button type="primary" @click="submitFormUp(11)">提交并发布</el-button> <el-button type="primary" @click="submitFormUp(11)">提交并发布</el-button>
</div> </div>
...@@ -191,7 +198,7 @@ ...@@ -191,7 +198,7 @@
</el-dialog> </el-dialog>
<!-- 导入名单对话框 --> <!-- 导入名单对话框 -->
<el-dialog title="导入名单选择" :visible.sync="payVisible" width="38%" center> <el-dialog title="导入名单选择" :visible.sync="payVisible" width="40%" center>
<div class="salarySelectionStyle"> <div class="salarySelectionStyle">
<div class="salarySelectionMain" @click="toLinkBankCard"> <div class="salarySelectionMain" @click="toLinkBankCard">
<div class="salarySelectionImageDiv"> <div class="salarySelectionImageDiv">
...@@ -208,17 +215,27 @@ ...@@ -208,17 +215,27 @@
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="接受任务并签订合同" :visible.sync="receiveSignVisible" width="40%" center>
<div style="margin: 20px;padding: 20px;">
<iframe :src=this.contractUrl style="width:100%;height:600px;" frameborder="0"></iframe>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click.native="handleRecived">接收任务并签订合同</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
import { import {
listOnlineTaskInfo, listOnlineTaskInfo,
getOnlineTaskInfo, getOnlineTaskInfo,
delOnlineTaskInfo, delOnlineTaskInfo,
addOnlineTaskInfo, addOnlineTaskInfo,
updateOnlineTaskInfo, updateOnlineTaskInfo,
addOnlineTaskInfoFirst, addOnlineTaskInfoSecond, updateStatus addOnlineTaskInfoFirst, addOnlineTaskInfoSecond, updateStatus, signContractFile
} from '@/api/business/onlineTaskInfo' } from '@/api/business/onlineTaskInfo'
import { listCompanyInfo } from '@/api/business/companyInfo' import { listCompanyInfo } from '@/api/business/companyInfo'
import { getInvoiceInfoByCompanyId } from '@/api/business/invoiceInfo' import { getInvoiceInfoByCompanyId } from '@/api/business/invoiceInfo'
...@@ -230,6 +247,8 @@ export default { ...@@ -230,6 +247,8 @@ export default {
dicts: ['task_status'], dicts: ['task_status'],
data() { data() {
return { return {
checkPermi,
checkRole,
//地区选择 //地区选择
options: regionData, options: regionData,
CodeToText: CodeToText, CodeToText: CodeToText,
...@@ -241,8 +260,9 @@ export default { ...@@ -241,8 +260,9 @@ export default {
// 支付方式 // 支付方式
payType: '', payType: '',
payVisible: false, payVisible: false,
receiveSignVisible: false,
// 合同url // 合同url
contractUrl: 'https://files.openbanks.cn/07/E3/rB7J6GdfiJqABWEzAAGKBP4eDZU392.pdf', contractUrl: '',
// 步骤条 // 步骤条
active: 1, active: 1,
//人力公司list //人力公司list
...@@ -288,86 +308,98 @@ export default { ...@@ -288,86 +308,98 @@ export default {
releaseTime: null, releaseTime: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {
taxCompanyId: null,
},
// 表单校验 // 表单校验
rules: { rules: {
id: [ id: [
{ required: true, message: "不能为空", trigger: "blur" } { required: true, message: "不能为空", trigger: ["blur", "change"] }
], ],
deptId: [ deptId: [
{ required: true, message: "部门id不能为空", trigger: "blur" } { required: true, message: "部门id不能为空", trigger: ["blur", "change"] }
], ],
taskNo: [ taskNo: [
{ required: true, message: "任务编号不能为空", trigger: "blur" } { required: true, message: "任务编号不能为空", trigger: ["blur", "change"] }
], ],
taskName: [ taskName: [
{ required: true, message: "任务名称不能为空", trigger: "blur" } { required: true, message: "任务名称不能为空", trigger: ["blur", "change"] }
], ],
status: [ status: [
{ required: true, message: "状态不能为空", trigger: "blur" } { required: true, message: "状态不能为空", trigger: ["blur", "change"] }
], ],
industry: [ industry: [
{ required: true, message: "所属行业不能为空", trigger: "blur" } { required: true, message: "所属行业不能为空", trigger: ["blur", "change"] }
], ],
companyId: [ companyId: [
{ required: true, message: "发起企业id不能为空", trigger: "blur" } { required: true, message: "发起企业id不能为空", trigger: ["blur", "change"] }
], ],
companyName: [ companyName: [
{ required: true, message: "发起企业名称不能为空", trigger: "blur" } { required: true, message: "发起企业名称不能为空", trigger: ["blur", "change"] }
], ],
taxCompanyId: [ taxCompanyId: [
{ required: true, message: "代发企业id不能为空", trigger: "blur" } { required: true, message: "代发企业id不能为空", trigger: ["blur", "change"] }
], ],
taxCompanySignId: [ taxCompanySignId: [
{ required: true, message: "代发企业id不能为空", trigger: "blur" } {
validator: (rule, value, callback) => {
console.log('当前选择的代发企业', this.form.taxCompanySignId);
let itemID = this.form.taxCompanySignId;
if (itemID === '' || itemID === null || itemID === undefined) {
callback(new Error('代发企业id不能为空'));
} else {
callback();
}
}, trigger: ["blur", "change"]
}
], ],
taxCompanyName: [ taxCompanyName: [
{ required: true, message: "代发企业名称不能为空", trigger: "blur" } { required: true, message: "代发企业名称不能为空", trigger: ["blur", "change"] }
], ],
araeCode: [ araeCode: [
{ required: true, message: "地区code不能为空", trigger: "blur" } { required: true, message: "地区code不能为空", trigger: ["blur", "change"] }
], ],
area: [ area: [
{ required: true, message: "所在区域不能为空", trigger: "blur" } { required: true, message: "所在区域不能为空", trigger: ["blur", "change"] }
], ],
address: [ address: [
{ required: true, message: "详细地址不能为空", trigger: "blur" } { required: true, message: "详细地址不能为空", trigger: ["blur", "change"] }
], ],
serviceTime: [ serviceTime: [
{ required: true, message: "服务时间不能为空", trigger: "blur" } { required: true, message: "服务时间不能为空", trigger: ["blur", "change"] }
], ],
serviceTimeStart: [ serviceTimeStart: [
{ required: true, message: "服务时间-开始不能为空", trigger: "blur" } { required: true, message: "服务时间-开始不能为空", trigger: ["blur", "change"] }
], ],
serviceTimeEnd: [ serviceTimeEnd: [
{ required: true, message: "服务时间-结束不能为空", trigger: "blur" } { required: true, message: "服务时间-结束不能为空", trigger: ["blur", "change"] }
], ],
needNum: [ needNum: [
{ required: true, message: "零工人数不能为空", trigger: "blur" } { required: true, message: "零工人数不能为空", trigger: ["blur", "change"] }
], ],
billDesc: [ billDesc: [
{ required: true, message: "计费说明不能为空", trigger: "blur" } { required: true, message: "计费说明不能为空", trigger: ["blur", "change"] }
], ],
billDetail: [ billDetail: [
{ required: true, message: "计费详情不能为空", trigger: "blur" } { required: true, message: "计费详情不能为空", trigger: ["blur", "change"] }
], ],
reason: [ reason: [
{ required: true, message: "拒绝原因不能为空", trigger: "blur" } { required: true, message: "拒绝原因不能为空", trigger: ["blur", "change"] }
], ],
// remark: [ // remark: [
// { required: true, message: "任务备注不能为空", trigger: "blur" } // { required: true, message: "任务备注不能为空", trigger: ["blur", "change"] }
// ], // ],
contactName: [ contactName: [
{ required: true, message: "合同名称不能为空", trigger: "blur" } { required: true, message: "合同名称不能为空", trigger: ["blur", "change"] }
], ],
contractUrl: [ contractUrl: [
{ required: true, message: "合同地址不能为空", trigger: "blur" } { required: true, message: "合同地址不能为空", trigger: ["blur", "change"] }
], ],
batchPayOrderId: [ batchPayOrderId: [
{ required: true, message: "关联批量支付id不能为空", trigger: "blur" } { required: true, message: "关联批量支付id不能为空", trigger: ["blur", "change"] }
], ],
releaseTime: [ releaseTime: [
{ required: true, message: "发布时间不能为空", trigger: "blur" } { required: true, message: "发布时间不能为空", trigger: ["blur", "change"] }
], ],
} }
}; };
...@@ -398,6 +430,8 @@ export default { ...@@ -398,6 +430,8 @@ export default {
this.applyCompanyList = response.rows; this.applyCompanyList = response.rows;
} else if (bindType == 2) { } else if (bindType == 2) {
this.taxCompanyList = response.rows; this.taxCompanyList = response.rows;
// console.log('返回的企业信息', this.taxCompanyList);
} }
this.loading = false; this.loading = false;
}); });
...@@ -417,12 +451,13 @@ export default { ...@@ -417,12 +451,13 @@ export default {
return; return;
} }
this.taxCompanyList = response.rows; this.taxCompanyList = response.rows;
// console.log('返回的企业信息', this.taxCompanyList);
} }
}) })
}, },
/** 查询线上任务信息列表 */ /** 查询线上任务信息列表 */
getList() { getList() {
this.loading = true; this.$modal.loading('数据加载中')
this.queryParams.params = {}; this.queryParams.params = {};
if (null != this.daterangeReleaseTime && '' != this.daterangeReleaseTime) { if (null != this.daterangeReleaseTime && '' != this.daterangeReleaseTime) {
this.queryParams.params["beginReleaseTime"] = this.daterangeReleaseTime[0]; this.queryParams.params["beginReleaseTime"] = this.daterangeReleaseTime[0];
...@@ -431,8 +466,11 @@ export default { ...@@ -431,8 +466,11 @@ export default {
listOnlineTaskInfo(this.queryParams).then(response => { listOnlineTaskInfo(this.queryParams).then(response => {
this.onlineTaskInfoList = response.rows; this.onlineTaskInfoList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; // this.loading = false;
}); }).finally(() => {
this.$forceUpdate()
this.$modal.closeLoading()
})
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
...@@ -493,18 +531,27 @@ export default { ...@@ -493,18 +531,27 @@ export default {
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.form.taskNo = this.generateTimeCodeWithRandom();
this.open = true; this.open = true;
this.title = "添加线上任务信息"; this.title = "添加线上任务信息";
this.form.taskNo = this.generateTimeCodeWithRandom();
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids
getOnlineTaskInfo(id).then(response => { getOnlineTaskInfo(id).then(async (response) => {
await this.queryTaxCompanyList(response.data.companyId);
this.form = response.data; this.form = response.data;
//查询合作机构list
//服务时间
this.form.serviceTimeArr = [this.form.serviceTimeStart, this.form.serviceTimeEnd];
this.onlineTaskId = row.id;
// console.log(this.form);
this.open = true; this.open = true;
this.title = "修改线上任务信息"; this.title = "修改线上任务信息";
this.$forceUpdate();
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -517,12 +564,14 @@ export default { ...@@ -517,12 +564,14 @@ export default {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
this.$forceUpdate();
}); });
} else { } else {
addOnlineTaskInfo(this.form).then(response => { addOnlineTaskInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
this.$forceUpdate();
}); });
} }
} }
...@@ -555,10 +604,12 @@ export default { ...@@ -555,10 +604,12 @@ export default {
//采购方选择 //采购方选择
applyCompanyChange(val) { applyCompanyChange(val) {
this.loading = true; this.loading = true;
this.form.taxCompanySignId = null
this.form.companyInvoice = {}; this.form.companyInvoice = {};
this.applyCompanyList.forEach(item => { this.applyCompanyList.forEach(item => {
if (item.id == val) { if (item.id == val) {
this.form.companyName = item.companyName; this.form.companyName = item.companyName;
//查询合作机构list //查询合作机构list
this.queryTaxCompanyList(val); this.queryTaxCompanyList(val);
} }
...@@ -571,6 +622,9 @@ export default { ...@@ -571,6 +622,9 @@ export default {
if (item.id == val) { if (item.id == val) {
this.form.taxCompanyId = item.taxUnitId; this.form.taxCompanyId = item.taxUnitId;
this.form.taxCompanyName = item.taxUnitName; this.form.taxCompanyName = item.taxUnitName;
// console.log('当前选择的代发企业id', val);
this.$forceUpdate()
} }
}) })
}, },
...@@ -593,6 +647,7 @@ export default { ...@@ -593,6 +647,7 @@ export default {
if (response.code == 200) { if (response.code == 200) {
this.contractUrl = response.data.contractUrl; this.contractUrl = response.data.contractUrl;
this.form = response.data; this.form = response.data;
this.onlineTaskId = response.data.id;
this.active = 2; this.active = 2;
} }
}); });
...@@ -620,26 +675,39 @@ export default { ...@@ -620,26 +675,39 @@ export default {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess("发布任务成功"); this.$modal.msgSuccess("发布任务成功");
this.getList(); this.getList();
location.reload(); // location.reload();
} }
}) })
}).catch(() => { }); }).catch(() => { });
}, },
//接收任务 //接收任务
handleRecived(row) { handleRecivedVisible(row) {
this.$confirm('是否确认接收任务【' + row.taskName + '】?', '提示', { this.receiveSignVisible = true;
this.onlineTaskId = row.id;
this.contractUrl = row.contractUrl;
},
handleRecived() {
this.$confirm('是否确认接收任务并签订合同?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
const obj = { id: row.id, status: 21 } this.$modal.loading("正在签订合同,请稍候...");
updateStatus(obj).then(response => { const obj = { id: this.onlineTaskId, status: 21 }
if (response.code == 200) { signContractFile(obj).then(response => {
this.$modal.msgSuccess("接收任务成功"); if (response.code === 200) {
this.$modal.msgSuccess("接收任务并签订合同成功");
this.receiveSignVisible = false;
this.getList(); this.getList();
location.reload(); } else {
this.$modal.msgError("接收任务并签订合同失败:" + (response.msg || "未知错误"));
} }
}) }).catch(error => {
console.error("签订合同接口调用失败", error);
this.$modal.msgError("签订合同失败,请稍后再试");
}).finally(() => {
this.$modal.closeLoading()
});
}).catch(() => { }); }).catch(() => { });
}, },
//查看合同 //查看合同
...@@ -683,6 +751,33 @@ export default { ...@@ -683,6 +751,33 @@ export default {
// const minutes = String(now.getMinutes()).padStart(2, '0'); // const minutes = String(now.getMinutes()).padStart(2, '0');
// const seconds = String(now.getSeconds()).padStart(2, '0'); // const seconds = String(now.getSeconds()).padStart(2, '0');
return `${year}${month}${date}`; return `${year}${month}${date}`;
},
confirmSealContractFile() {
// TODO 确认框
// this.$modal.confirm('是否确认签订合同?').then(() => {
// 添加 loading 提示
this.$modal.loading("正在签订合同,请稍候...");
const obj = { id: this.onlineTaskId, status: 10 };
signContractFile(obj).then(response => {
if (response.code === 200) {
this.$modal.msgSuccess("签订合同成功");
this.contractUrl = response.data;
this.form.contractUrl = response.data;
this.active = 3;
this.getList();
} else {
this.$modal.msgError("签订合同失败:" + (response.msg || "未知错误"));
}
}).catch(error => {
console.error("签订合同接口调用失败", error);
this.$modal.msgError("签订合同失败,请稍后再试");
}).finally(() => {
this.$modal.closeLoading()
});
// }).catch(() => {
// // 用户取消操作
// this.$modal.msgError("已取消签订合同");
// });
} }
} }
}; };
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
<el-form-item label="企业名称" prop="accountname">
<el-input
v-model="queryParams.accountname"
placeholder="请输入企业名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="社会信用代码" prop="socialCode">
<el-input
v-model="queryParams.socialCode"
placeholder="请输入社会信用代码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option v-for="dict in dict.type.seal_apply_status" :key="dict.value" :label="dict.label" :value="dict.value " />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['business:sealCompanyInfo:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['business:sealCompanyInfo:edit']"-->
<!-- >修改</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['business:sealCompanyInfo:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['business:sealCompanyInfo:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="sealCompanyInfoList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<!-- <el-table-column label="业务类型" align="center" prop="bussinessType" />-->
<el-table-column label="企业名称" align="center" prop="accountname" />
<el-table-column label="社会信用代码" align="center" prop="socialCode" />
<el-table-column label="法人姓名" align="center" prop="legalPersonName" />
<el-table-column label="法人身份证号" align="center" prop="legalPersonidCard" />
<el-table-column label="法人手机号" align="center" prop="legalPersonMobile" />
<el-table-column label="营业执照" align="center" prop="businessLicense">
<template slot-scope="scope">
<image-preview :src="scope.row.businessLicense" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="法人身份证人像" align="center" prop="legalIdcardHead">
<template slot-scope="scope">
<image-preview :src="scope.row.legalIdcardHead" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="电子签章委托书" align="center" prop="fileurl" width="200">
<template slot-scope="scope">
<el-button type="text" @click="handlePowerAttorneyPreview(scope.row)">查看</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="企业公章编号" align="center" prop="signatureNo" />-->
<el-table-column label="电子章id" align="center" prop="signetId" />
<el-table-column label="章模图片" align="center" prop="sealPic" width="100">
<template slot-scope="scope">
<image-preview :src="scope.row.sealPic" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="电子章绑定电话" align="center" prop="sealPhone" />
<el-table-column label="状态" align="center" prop="status">
<!-- 状态 字典 seal_apply_status -->
<template slot-scope="scope">
<dict-tag :options="dict.type.seal_apply_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="原因" align="center" prop="reason" />
<!-- <el-table-column label="法人身份证人像-上传" align="center" prop="legalIdcardHeadUpload" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <image-preview :src="scope.row.legalIdcardHeadUpload" :width="50" :height="50"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="营业执照-上传" align="center" prop="businessLicenseUpload" width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <image-preview :src="scope.row.businessLicenseUpload" :width="50" :height="50"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="是否默认:1是 0否" align="center" prop="isdefault" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
v-if="scope.row.signetId == null"
size="mini"
type="text"
icon="el-icon-s-check"
@click="makeSeal(scope.row)"
v-hasPermi="['business:sealCompanyInfo:makeSeal']"
>制作电子章</el-button>
<el-button
v-if="scope.row.sealPic == null"
size="mini"
type="text"
icon="el-icon-picture"
@click="querySealPic(scope.row)"
v-hasPermi="['business:sealCompanyInfo:querySealPic']"
>查询章模图片</el-button>
<el-button
v-if="scope.row.signetId == null"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:sealCompanyInfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:sealCompanyInfo:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改电子章信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
<!-- <el-form-item label="业务类型" prop="bussinessType">
<el-select v-model="form.bussinessType" placeholder="请选择业务类型">
<el-option label="hr" value="hr">人力资源企业</el-option>
<el-option label="tax" value="tax">税源地企业</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="form.bussinessType === 'hr'" label="企业名称" prop="accountname">
&lt;!&ndash; TODO 人力资源企业列表 &ndash;&gt;
&lt;!&ndash; <el-input v-model="form.accountname" placeholder="请输入企业名称" />&ndash;&gt;
</el-form-item>
<el-form-item v-if="form.bussinessType === 'tax'" label="纳税人识别号" prop="socialCode">
&lt;!&ndash; TODO 税源地企业列表 &ndash;&gt;
&lt;!&ndash; <el-input v-model="form.socialCode" placeholder="请输入纳税人识别号" />&ndash;&gt;
</el-form-item>
&lt;!&ndash; <el-form-item label="法人身份证人像-上传" prop="legalIdcardHeadUpload">&ndash;&gt;
&lt;!&ndash; <image-upload v-model="form.legalIdcardHeadUpload"/>&ndash;&gt;
&lt;!&ndash; </el-form-item>&ndash;&gt;
&lt;!&ndash; <el-form-item label="营业执照-上传" prop="businessLicenseUpload">&ndash;&gt;
&lt;!&ndash; <image-upload v-model="form.businessLicenseUpload"/>&ndash;&gt;
&lt;!&ndash; </el-form-item>&ndash;&gt;
&lt;!&ndash; <file-upload v-model="form.powerAttorneyUrl"/>&ndash;&gt;-->
<el-form-item label="企业名称" prop="accountname">
<el-input v-model="form.accountname" placeholder="请输入企业名称" />
</el-form-item>
<el-form-item label="社会信用代码" prop="socialCode">
<el-input v-model="form.socialCode" placeholder="请输入社会信用代码" />
</el-form-item>
<el-form-item label="营业执照" prop="businessLicense">
<image-upload v-model="form.businessLicense" limit="1"/>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="法人身份证人像面" prop="legalIdcardHead">
<image-upload v-model="form.legalIdcardHead" limit="1"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="法人身份证国徽面" prop="legalIdcardBack">
<image-upload v-model="form.legalIdcardBack" limit="1"/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="法人姓名" prop="legalPersonName">
<el-input v-model="form.legalPersonName" placeholder="请输入法人姓名" />
</el-form-item>
<el-form-item label="法人身份证号" prop="legalPersonidCard">
<el-input v-model="form.legalPersonidCard" placeholder="请输入法人身份证号" />
</el-form-item>
<el-form-item label="法人邮箱" prop="legalPersonEmail">
<el-input v-model="form.legalPersonEmail" placeholder="请输入法人邮箱" />
</el-form-item>
<el-form-item label="法人手机号" prop="legalPersonMobile">
<el-input v-model="form.legalPersonMobile" placeholder="请输入法人手机号" />
</el-form-item>
<el-form-item label="电子签章委托书" prop="powerAttorneyUrl">
<div class="tips">
<div>
<span>请先下载</span>
<a class="down" download="电子印章申请授权委托书" href="/template/电子印章申请授权委托书.docx">电子签章委托书</a>
</div>
<div>
<span>委托书里的企业全称需与营业执照名称一致。加盖公章后上传原件照片或扫描件。</span>
</div>
<div>
<span>支持 .png, .jpg, .jpeg格式照片,大小不超过5M。</span>
</div>
</div>
<div>
<el-upload class="upload-demo" :action="uploadImgUrl" :limit="1" :on-success="handlePowerAttorneySuccess">
<img v-if="form.powerAttorneyUrl" :src="form.powerAttorneyUrl" class="bigImg" />
<el-button size="small" type="primary" v-else>点击上传</el-button>
</el-upload>
</div>
</el-form-item>
<el-form-item label="电子章绑定手机号" prop="sealPhone">
<el-input v-model="form.sealPhone" placeholder="请输入电子章绑定手机号" />
<div class="remind">用于签章时接收验证码使用</div>
</el-form-item>
<el-form-item label="企业公章编号" prop="signatureNo">
<el-input v-model="form.signatureNo" placeholder="请输入企业公章编号" />
<div class="remind">用于生成电子签章</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 预览电子签章委托书 -->
<el-dialog :title="title" :visible.sync="dialogVisible" width="600px" append-to-body>
<div class="dialog-img">
<img :src="dialogImageUrl" alt=""/>
<el-button type="primary" @click="dialogVisible = false">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listSealCompanyInfo,
getSealCompanyInfo,
delSealCompanyInfo,
addSealCompanyInfo,
updateSealCompanyInfo,
getSubmittedCompanyInfo,
saveSealCompanyInfo, makeSeaApil, querySealPicApi
} from '@/api/business/sealCompanyInfo'
export default {
name: "SealCompanyInfo",
dicts: ['seal_apply_status'],
data() {
return {
//路由传值
bussinessId: null,
bussinessType: null,
showFlag: null,
//上传电子签章委托书
baseUrl: process.env.VUE_APP_BASE_API,
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
dialogVisible: false,
dialogImageUrl: "",
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 电子章信息表格数据
sealCompanyInfoList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 法人手机号时间范围
daterangeCreateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
bussinessType: null,
accountname: null,
signetId: null,
status: null,
reason: null,
signatureNo: null,
sealPhone: null,
businessLicense: null,
legalIdcardHead: null,
legalIdcardBack: null,
legalIdcardHeadUpload: null,
businessLicenseUpload: null,
socialCode: null,
legalPersonidCard: null,
legalPersonMobile: null,
isdefault: null,
createTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
accountname: [
{ required: true, message: "企业名称不能为空", trigger: "blur" }
],
powerAttorneyUrl: [
{ required: true, message: "电子签章委托书不能为空", trigger: "blur" }
],
signatureNo: [
{ required: true, message: "企业公章编号不能为空", trigger: "blur" },
{
min: 13,
max: 14,
message: "请输入正确的企业公章编号",
trigger: "blur"
}
],
sealPhone: [
{ required: true, message: "电子章绑定电话不能为空", trigger: "blur" },
{
pattern: /^1[23456789]\d{9}$/,
message: "请输入正确的手机号",
trigger: "blur"
}
],
businessLicense: [
{ required: true, message: "营业执照不能为空", trigger: "blur" }
],
legalIdcardHead: [
{ required: true, message: "法人身份证人像不能为空", trigger: "blur" }
],
legalIdcardHeadUpload: [
{ required: true, message: "法人身份证人像-上传不能为空", trigger: "blur" }
],
businessLicenseUpload: [
{ required: true, message: "营业执照-上传不能为空", trigger: "blur" }
],
socialCode: [
{ required: true, message: "社会信用代码不能为空", trigger: "blur" }
],
legalPersonName: [
{ required: true, message: "法人姓名不能为空", trigger: "blur" }
],
legalPersonidCard: [
{ required: true, message: "法人身份证不能为空", trigger: "blur" },
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: "请输入正确的身份证号",
trigger: "blur"
}
],
legalPersonMobile: [
{ required: true, message: "法人手机号不能为空", trigger: "blur" },
{
pattern: /^1[23456789]\d{9}$/,
message: "请输入正确的手机号",
trigger: "blur"
}
],
legalPersonEmail: [
{ required: true, message: "法人邮箱不能为空", trigger: "blur" },
{
pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/,
message: "请输入正确的邮箱",
trigger: "blur"
}
]
}
};
},
created() {
this.getList();
},
mounted() {
//路由地址参数
if(this.$route.query.bussinessId){
this.bussinessId = this.$route.query.bussinessId;
this.queryParams.bussinessId = this.$route.query.bussinessId;
console.log("this.bussinessId:"+this.bussinessId)
}
if(this.$route.query.bussinessType){
this.bussinessType = this.$route.query.bussinessType;
this.queryParams.bussinessType = this.$route.query.bussinessType;
console.log("this.bussinessType:"+this.bussinessType)
}
if(this.$route.query.showFlag){
this.showFlag = this.$route.query.showFlag;
console.log("this.showFlag:"+this.showFlag)
this.getList();
}
if(this.bussinessId && this.bussinessType && this.showFlag && this.showFlag == 1){
console.log("this.bussinessId:"+this.bussinessId + "; this.bussinessType:"+this.bussinessType)
this.getEnterpriseSubmittedInfo(this.bussinessId,this.bussinessType)
}
},
methods: {
/** 查询电子章信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
listSealCompanyInfo(this.queryParams).then(response => {
this.sealCompanyInfoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
bussinessType: null,
bussinessId: null,
accounttype: null,
accountname: null,
deptId: null,
signetId: null,
sealPic: null,
status: null,
reason: null,
powerAttorneyUrl: null,
signatureNo: null,
sealPhone: null,
businessLicense: null,
legalIdcardHead: null,
legalIdcardHeadUpload: null,
businessLicenseUpload: null,
socialCode: null,
legalPersonName: null,
legalPersonidCard: null,
legalPersonMobile: null,
signetType: null,
signetModelType: null,
isdefault: null,
merchantInfo: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加电子章信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getSealCompanyInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改电子章信息";
});
},
/** 提交按钮 */
// submitForm() {
// this.$refs["form"].validate(valid => {
// if (valid) {
// if (this.form.id != null) {
// updateSealCompanyInfo(this.form).then(response => {
// this.$modal.msgSuccess("修改成功");
// this.open = false;
// this.getList();
// });
// } else {
// addSealCompanyInfo(this.form).then(response => {
// this.$modal.msgSuccess("新增成功");
// this.open = false;
// this.getList();
// });
// }
// }
// });
// },
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.$modal.loading();
saveSealCompanyInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).finally(() => {
this.$modal.closeLoading();
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除电子章信息编号为"' + ids + '"的数据项?').then(function() {
return delSealCompanyInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/sealCompanyInfo/export', {
...this.queryParams
}, `sealCompanyInfo_${new Date().getTime()}.xlsx`)
},
// 电子签章委托书上传
handlePowerAttorneySuccess(res, file) {
console.log(res);
this.form.powerAttorneyUrl = res.url;
},
handlePowerAttorneyPreview(row) {
window.open("about:blank").location.href = `${row.powerAttorneyUrl}`;
},
//获取企业已提交信息
getEnterpriseSubmittedInfo(bussinessId,bussnessType){
//loading
this.$modal.loading();
getSubmittedCompanyInfo(bussinessId,bussnessType).then(response => {
console.log("获取企业已提交信息:"+JSON.stringify(response))
if (response.code == 200) {
this.reset();
this.open = true;
this.title = "添加电子章信息";
this.form = response.data;
}else {
this.$modal.msgError(response.msg);
}
}).finally(() => {
this.$modal.closeLoading();
})
},
// 制作电子章
makeSeal(row){
this.$modal.loading();
this.$modal.confirm('是否确认制作电子章?').then(() => {
makeSeaApil(row.id).then(response => {
if (response.code == 200) {
this.$modal.msgSuccess("制作电子章成功");
this.getList();
}
}).finally(() => {
this.$modal.closeLoading();
})
});
},
// 查询章模图片
querySealPic(row){
this.$modal.loading();
this.$modal.confirm('是否确认查询章模图片?').then(() => {
querySealPicApi(row.id).then(response => {
if (response.code == 200) {
this.$modal.msgSuccess("查询章模图片成功");
this.getList();
}
}).finally(() => {
this.$modal.closeLoading();
})
});
}
}
};
</script>
<style>
.down {
color: #0c4c7f;
cursor: pointer;
}
.remind {
font-size: 12px;
color: #585c64;
line-height: 30px;
}
.bigImg {
width: 101px;
height: 134px;
}
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="电子章信息id" prop="sealCompanyInfoId">
<el-input
v-model="queryParams.sealCompanyInfoId"
placeholder="请输入电子章信息id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="电子章id" prop="signetId">
<el-input
v-model="queryParams.signetId"
placeholder="请输入电子章id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:sealCompanyInfoLog:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:sealCompanyInfoLog:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:sealCompanyInfoLog:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:sealCompanyInfoLog:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="sealCompanyInfoLogList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="电子章信息id" align="center" prop="sealCompanyInfoId" />
<el-table-column label="电子章id" align="center" prop="signetId" />
<el-table-column label="盖章前文件" align="center" prop="sealFilePre" />
<el-table-column label="盖章后文件" align="center" prop="sealFileAfter" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:sealCompanyInfoLog:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:sealCompanyInfoLog:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改企业电子章盖章记录信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="电子章信息id" prop="sealCompanyInfoId">
<el-input v-model="form.sealCompanyInfoId" placeholder="请输入电子章信息id" />
</el-form-item>
<el-form-item label="电子章id" prop="signetId">
<el-input v-model="form.signetId" placeholder="请输入电子章id" />
</el-form-item>
<el-form-item label="盖章前文件" prop="sealFilePre">
<file-upload v-model="form.sealFilePre"/>
</el-form-item>
<el-form-item label="盖章后文件" prop="sealFileAfter">
<file-upload v-model="form.sealFileAfter"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listSealCompanyInfoLog, getSealCompanyInfoLog, delSealCompanyInfoLog, addSealCompanyInfoLog, updateSealCompanyInfoLog } from "@/api/business/sealCompanyInfoLog";
export default {
name: "SealCompanyInfoLog",
data() {
return {
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 企业电子章盖章记录信息表格数据
sealCompanyInfoLogList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 盖章后文件时间范围
daterangeCreateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sealCompanyInfoId: null,
signetId: null,
sealFilePre: null,
sealFileAfter: null,
createTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "$comment不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "部门id不能为空", trigger: "blur" }
],
sealCompanyInfoId: [
{ required: true, message: "电子章信息id不能为空", trigger: "blur" }
],
signetId: [
{ required: true, message: "电子章id不能为空", trigger: "blur" }
],
sealFilePre: [
{ required: true, message: "盖章前文件不能为空", trigger: "blur" }
],
sealFileAfter: [
{ required: true, message: "盖章后文件不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询企业电子章盖章记录信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
listSealCompanyInfoLog(this.queryParams).then(response => {
this.sealCompanyInfoLogList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
deptId: null,
sealCompanyInfoId: null,
signetId: null,
sealFilePre: null,
sealFileAfter: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加企业电子章盖章记录信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getSealCompanyInfoLog(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改企业电子章盖章记录信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSealCompanyInfoLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSealCompanyInfoLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除企业电子章盖章记录信息编号为"' + ids + '"的数据项?').then(function() {
return delSealCompanyInfoLog(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/sealCompanyInfoLog/export', {
...this.queryParams
}, `sealCompanyInfoLog_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
<!-- <el-form-item label="模板ID" prop="templateId">-->
<!-- <el-input-->
<!-- v-model="queryParams.templateId"-->
<!-- placeholder="请输入模板ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="模板名称" prop="templateName">
<el-input
v-model="queryParams.templateName"
placeholder="请输入模板名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="盖章角色身份" prop="sealRole">
<el-select v-model="queryParams.sealRole" placeholder="请选择盖章角色身份" clearable filterable>
<el-option
v-for="dict in dict.type.rayin_seal_role"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:sealLocation:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:sealLocation:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:sealLocation:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['business:sealLocation:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="sealLocationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="模板ID" align="center" prop="templateId" />-->
<el-table-column label="模板名称" align="center" prop="templateName" />
<el-table-column label="盖章的页码" align="center" prop="pageNum" />
<el-table-column label="盖章的位置X轴" align="center" prop="xLocal" />
<el-table-column label="盖章的位置Y轴" align="center" prop="yLocal" />
<el-table-column label="盖章角色身份" align="center" prop="sealRole">
<template slot-scope="scope">
<dict-tag :options="dict.type.rayin_seal_role" :value="scope.row.sealRole"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:sealLocation:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:sealLocation:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改睿印-模板盖章位置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="模板id" prop="templateId">
<el-input v-model="form.templateId" placeholder="请输入模板ID" />
</el-form-item>
<el-form-item label="盖章的页码" prop="pageNum">
<el-input-number v-model="form.pageNum" placeholder="请输入盖章的页码" />
</el-form-item>
<el-form-item label="盖章的位置X轴" prop="xLocal">
<el-input-number v-model="form.xLocal" placeholder="请输入盖章的位置X轴" />
</el-form-item>
<el-form-item label="盖章的位置Y轴" prop="yLocal">
<el-input-number v-model="form.yLocal" placeholder="请输入盖章的位置Y轴" />
</el-form-item>
<el-form-item label="盖章角色身份" prop="sealRole">
<el-select v-model="form.sealRole" placeholder="请选择盖章角色身份" filterable>
<el-option
v-for="dict in dict.type.rayin_seal_role"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listSealLocation, getSealLocation, delSealLocation, addSealLocation, updateSealLocation } from "@/api/business/sealLocation";
export default {
name: "SealLocation",
dicts: ['rayin_seal_role'],
data() {
return {
//模版id
templateId: null,
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 睿印-模板盖章位置表格数据
sealLocationList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 盖章角色身份时间范围
daterangeCreateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
templateId: null,
sealRole: null,
createTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "主键id不能为空", trigger: "blur" }
],
templateId: [
{ required: true, message: "模板ID不能为空", trigger: "blur" }
],
pageNum: [
{ required: true, message: "盖章的页码不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*$/, message: "盖章的页码必须是正整数", trigger: "blur" }
],
xLocal: [
{ required: true, message: "盖章的位置X轴不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*(\.\d{1,2})?$/, message: "盖章的位置X轴必须是正整数或正小数,小数点后最多两位", trigger: "blur" },
],
yLocal: [
{ required: true, message: "盖章的位置Y轴不能为空", trigger: "blur" },
{ pattern: /^[1-9]\d*(\.\d{1,2})?$/, message: "盖章的位置Y轴必须是正整数或正小数,小数点后最多两位", trigger: "blur" },
],
sealRole: [
{ required: true, message: "盖章角色身份不能为空", trigger: "change" }
],
}
};
},
created() {
this.getList();
},
mounted() {
if (this.$route.query.templateId) {
this.templateId = this.$route.query.templateId;
this.queryParams.templateId = this.$route.query.templateId;
}
},
methods: {
/** 查询睿印-模板盖章位置列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
listSealLocation(this.queryParams).then(response => {
this.sealLocationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
templateId: this.templateId,
pageNum: 1,
xLocal: 100,
yLocal: 100,
sealRole: "firstParty",
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加睿印-模板盖章位置";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getSealLocation(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改睿印-模板盖章位置";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSealLocation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSealLocation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除睿印-模板盖章位置编号为"' + ids + '"的数据项?').then(function() {
return delSealLocation(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/sealLocation/export', {
...this.queryParams
}, `sealLocation_${new Date().getTime()}.xlsx`)
}
}
};
</script>
...@@ -2,20 +2,10 @@ ...@@ -2,20 +2,10 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="单位名称" prop="unitName"> <el-form-item label="单位名称" prop="unitName">
<el-input <el-input v-model="queryParams.unitName" placeholder="请输入单位名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.unitName"
placeholder="请输入单位名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="信用代码" prop="unitCode"> <el-form-item label="信用代码" prop="unitCode">
<el-input <el-input v-model="queryParams.unitCode" placeholder="请输入信用代码" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.unitCode"
placeholder="请输入信用代码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
...@@ -25,24 +15,13 @@ ...@@ -25,24 +15,13 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
type="primary" v-hasPermi="['business:unitInfo:add']">新增
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:unitInfo:add']"
>新增
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
type="danger" v-hasPermi="['business:unitInfo:remove']">删除
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:unitInfo:remove']"
>删除
</el-button> </el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
...@@ -58,100 +37,92 @@ ...@@ -58,100 +37,92 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="unitInfoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="unitInfoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="企业名称" align="center" prop="unitName" fixed/> <el-table-column label="企业名称" align="center" prop="unitName" fixed />
<el-table-column label="信用代码" align="center" prop="unitCode" fixed/> <el-table-column label="信用代码" align="center" prop="unitCode" fixed />
<el-table-column label="所属行业" align="center" prop="sectorDictDataVal"> <el-table-column label="所属行业" align="center" prop="sectorDictDataVal">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.unit_business_type" :value="scope.row.sectorDictDataVal"/> <dict-tag :options="dict.type.unit_business_type" :value="scope.row.sectorDictDataVal" />
</template>
</el-table-column>
<el-table-column label="法人姓名" align="center" prop="legalPersonName" />
<el-table-column label="法人联系电话" align="center" prop="legalPersonMobile" />
<el-table-column label="所属地址" align="center" prop="address">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" :content="scope.row.address" placement="top">
<p class="addressStyle">{{ scope.row.address }}</p>
</el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="法人姓名" align="center" prop="legalPersonName"/>
<el-table-column label="法人联系电话" align="center" prop="legalPersonMobile"/>
<el-table-column label="所属地址" align="center" prop="address"/>
<el-table-column label="可开票状态" align="center" prop="invoiceStatus"> <el-table-column label="可开票状态" align="center" prop="invoiceStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.tax_invoice_status" :value="scope.row.invoiceStatus"/> <dict-tag :options="dict.type.tax_invoice_status" :value="scope.row.invoiceStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="月开票额度" align="center" prop="invoiceLimit"/> <el-table-column label="月开票额度" align="center" prop="invoiceLimit" />
<el-table-column label="可开票类型" align="center" prop="invoiceTypes"> <el-table-column label="可开票类型" align="center" prop="invoiceTypes">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag style="margin-top: 3px" v-for="(item, index) in scope.row.invoiceTypes.split(',')" <dict-tag style="margin-top: 3px" v-for="(item, index) in scope.row.invoiceTypes.split(',')" :key="index"
:options="dict.type.tax_invoice_type" :value="item" :options="dict.type.tax_invoice_type" :value="item" />
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="可开票类目" align="center" prop="invoiceTypes"> <el-table-column label="可开票类目" align="center" prop="invoiceTypes">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-info" @click="viewUnitTaxCategories(scope.row)">查看类目
size="mini"
type="text"
icon="el-icon-info"
@click="viewUnitTaxCategories(scope.row)"
>查看类目
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="营业执照" align="center" prop="businessLicense" />--> <!-- <el-table-column label="营业执照" align="center" prop="businessLicense" />-->
<el-table-column label="企业状态" align="center" prop="useStatus"> <el-table-column label="企业状态" align="center" prop="useStatus">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch <el-switch v-model="scope.row.useStatus" :active-value="1" :inactive-value="2"
v-model="scope.row.useStatus" @change="setUnitUseStatus(scope.row)">
:active-value="1"
:inactive-value="2"
@change="setUnitUseStatus(scope.row)"
>
</el-switch> </el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
v-if="scope.row.signetId == null"
size="mini"
type="text"
icon="el-icon-info"
@click="makeSealPre(scope.row)"
>生成电子签章
</el-button>
<el-button
v-if="scope.row.signetId != null"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="viewSealInfo(scope.row)"
v-hasPermi="['business:unitInfo:edit']" >查看电子签章
>修改
</el-button> </el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-edit"
@click="handleDelete(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['business:unitInfo:remove']" v-hasPermi="['business:unitInfo:edit']"
>删除 >修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business:unitInfo:remove']">删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total>0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<el-dialog :title="taxCategoryPanel.title" :visible.sync="taxCategoryPanel.open" width="600px" append-to-body> <el-dialog :title="taxCategoryPanel.title" :visible.sync="taxCategoryPanel.open" width="600px" append-to-body>
<el-table :data="taxCategoryPanel.data" stripe style="width: 100%"> <el-table :data="taxCategoryPanel.data" stripe style="width: 100%">
<el-table-column <el-table-column prop="goodsName" label="类目名称" width="180">
prop="goodsName"
label="类目名称"
width="180"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="code" label="类目编码" width="180">
prop="code"
label="类目编码"
width="180"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="vatRate" label="税率">
prop="vatRate"
label="税率"
>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -162,7 +133,8 @@ ...@@ -162,7 +133,8 @@
</template> </template>
<script> <script>
import { listUnitInfo, delUnitInfo, getUnitTaxCategories, updateUnitInfo } from '@/api/business/unitInfo' import { listUnitInfo, delUnitInfo, getUnitTaxCategories, updateUnitInfo } from '@/api/business/unitInfo';
import {makeSealPreCheck} from "@/api/business/sealCompanyInfo";
export default { export default {
name: 'UnitInfo', name: 'UnitInfo',
...@@ -243,7 +215,7 @@ export default { ...@@ -243,7 +215,7 @@ export default {
}); });
done() done()
} }
}).catch(function() { }).catch(function () {
instance.confirmButtonLoading = false; instance.confirmButtonLoading = false;
unitRow.useStatus = unitRow.useStatus === 1 ? 2 : 1 unitRow.useStatus = unitRow.useStatus === 1 ? 2 : 1
done() done()
...@@ -252,7 +224,7 @@ export default { ...@@ -252,7 +224,7 @@ export default {
done() done()
} }
} }
}).catch(function() { }).catch(function () {
unitRow.useStatus = unitRow.useStatus === 1 ? 2 : 1 unitRow.useStatus = unitRow.useStatus === 1 ? 2 : 1
this.$message({ this.$message({
type: 'info', type: 'info',
...@@ -310,7 +282,7 @@ export default { ...@@ -310,7 +282,7 @@ export default {
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids const ids = row.id || this.ids
const unitNames = row.unitName || this.unitNames const unitNames = row.unitName || this.unitNames
this.$modal.confirm('确认删除以下企业信息:' + unitNames + '?').then(function() { this.$modal.confirm('确认删除以下企业信息:' + unitNames + '?').then(function () {
return delUnitInfo(ids) return delUnitInfo(ids)
}).then(() => { }).then(() => {
this.getList() this.getList()
...@@ -323,7 +295,35 @@ export default { ...@@ -323,7 +295,35 @@ export default {
this.download('business/unitInfo/export', { this.download('business/unitInfo/export', {
...this.queryParams ...this.queryParams
}, `unitInfo_${new Date().getTime()}.xlsx`) }, `unitInfo_${new Date().getTime()}.xlsx`)
},
/** 生成电子签章 */
makeSealPre(row) {
//是否确认生成电子签章 ,如果确认,调用接口生成电子签章,然后跳转到电子签章页面
this.$modal.confirm('是否确认为【'+row.unitName+'】企业生成电子签章?').then(() => {
const type = "tax";
makeSealPreCheck(row.id,type).then(response => {
console.log(response.code == 200)
if (response.code == 200) {
//校验完成 前往生成电子签章页面 sealCompanyInfo/index
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type, showFlag:1 } })
}else {
this.$modal.msgError(response.msg)
}
})
})
},
/** 查看电子签章 */
viewSealInfo(row) {
const type = "hr";
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type, showFlag:0 } })
} }
} }
} }
</script> </script>
<style lang="scss" scoped>
.addressStyle {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="模板名称" prop="templateName">
<el-input
v-model="queryParams.templateName"
placeholder="请输入模板名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="模板类型" prop="templateType">
<el-select v-model="queryParams.templateType" placeholder="请选择模板类型" clearable filterable>
<el-option
v-for="dict in dict.type.rayin_template_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:templateConfig:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:templateConfig:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:templateConfig:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['business:templateConfig:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="templateConfigList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="模板名称" align="center" prop="templateName" />
<el-table-column label="模板类型" align="center" prop="templateType">
<template slot-scope="scope">
<dict-tag :options="dict.type.rayin_template_type" :value="scope.row.templateType"/>
</template>
</el-table-column>
<!-- <el-table-column label="模板内容" align="center" prop="templateContent" />-->
<!-- <el-table-column label="模版数据" align="center" prop="dataContent" />-->
<el-table-column label="模板预览图" align="center" prop="templatePreview" />
<el-table-column label="用途描述" align="center" prop="purpose" />
<el-table-column label="创建时间" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center" prop="updateTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.updateTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="viewSealLocation(scope.row)"
v-hasPermi="['business:templateConfig:edit']"
>盖章位置</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:templateConfig:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:templateConfig:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改睿印-凭证模板配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="模板名称" prop="templateName">
<el-input v-model="form.templateName" placeholder="请输入模板名称" />
</el-form-item>
<el-form-item label="模板类型" prop="templateType">
<el-select v-model="form.templateType" placeholder="请选择模板类型" filterable>
<el-option
v-for="dict in dict.type.rayin_template_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="模板内容" prop="templateContent">
<editor v-model="form.templateContent" :min-height="192"/>
</el-form-item>
<el-form-item label="模版数据" prop="dataContent">
<el-input type="textarea" v-model="form.dataContent" placeholder="模版数据" />
</el-form-item>
<!-- <el-form-item label="模板预览图" prop="templatePreview">-->
<!-- <el-input v-model="form.templatePreview" type="textarea" placeholder="请输入内容" />-->
<!-- </el-form-item>-->
<el-form-item label="用途描述" prop="purpose">
<el-input v-model="form.purpose" placeholder="请输入用途描述" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listTemplateConfig, getTemplateConfig, delTemplateConfig, addTemplateConfig, updateTemplateConfig } from "@/api/business/templateConfig";
export default {
name: "TemplateConfig",
dicts: ['rayin_template_type'],
data() {
return {
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 睿印-凭证模板配置表格数据
templateConfigList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 用途描述时间范围
daterangeCreateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
deptId: null,
templateName: null,
templateType: null,
createTime: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
deptId: [
{ required: true, message: "部门id不能为空", trigger: "blur" }
],
templateName: [
{ required: true, message: "模板名称不能为空", trigger: "blur" }
],
templateType: [
{ required: true, message: "模板类型不能为空", trigger: "change" }
],
templateContent: [
{ required: true, message: "模板内容不能为空", trigger: "blur" }
],
dataContent: [
{ required: true, message: "模版数据不能为空", trigger: "blur" }
],
templatePreview: [
{ required: true, message: "模板预览图不能为空", trigger: "blur" }
],
purpose: [
{ required: true, message: "用途描述不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询睿印-凭证模板配置列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
listTemplateConfig(this.queryParams).then(response => {
this.templateConfigList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
deptId: null,
templateName: null,
templateType: null,
templateContent: null,
dataContent: null,
templatePreview: null,
purpose: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加睿印-凭证模板配置";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getTemplateConfig(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改睿印-凭证模板配置";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateTemplateConfig(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addTemplateConfig(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除睿印-凭证模板配置编号为"' + ids + '"的数据项?').then(function() {
return delTemplateConfig(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/templateConfig/export', {
...this.queryParams
}, `templateConfig_${new Date().getTime()}.xlsx`)
},
/** 查看盖章位置 */
viewSealLocation(row) {
this.$router.push({ path: "/seal/sealLocation", query: { templateId: row.id} });
}
}
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment