Commit 4dba3095 authored by wanghf's avatar wanghf

seal-rayin

parent 6fb64619
...@@ -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?id=' + id + '&type=' + type,
method: 'get'
})
}
//获取企业已提交信息
export function getSubmittedCompanyInfo(id , type) {
return request({
url: '/business/sealCompanyInfo/getSubmittedCompanyInfo?id=' + id + '&type=' + type,
method: 'get'
})
}
// 新增电子章信息--up
export function saveSealCompanyInfo(data) {
return request({
url: '/business/sealCompanyInfo/saveSealCompanyInfo',
method: 'post',
data: data
})
}
//制作电子章
export function makeSeaApil(id) {
return request({
url: '/business/sealCompanyInfo/makeSeal?id=' + id ,
method: 'get'
})
}
//查询电子章信息
export function querySealPicApi(id) {
return request({
url: '/business/sealCompanyInfo/querySealPic?id=' + id ,
method: 'get'
})
}
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'
})
}
...@@ -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 } })
}else {
this.$modal.msgError(response.msg)
}
})
})
},
/** 查看电子签章 */
viewSealInfo(row) {
const type = "hr";
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type } })
} }
} }
}; };
......
...@@ -86,16 +86,16 @@ ...@@ -86,16 +86,16 @@
<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" size="mini" type="text" icon="el-icon-s-promotion"
v-hasPermi="['business:onlineTaskInfo:release']" @click="handleRelease(scope.row)">发布任务</el-button> v-hasPermi="['business:onlineTaskInfo:release']" @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" size="mini" type="text" icon="el-icon-s-promotion"
v-hasPermi="['business:onlineTaskInfo:recived']" @click="handleRecived(scope.row)">接收任务</el-button> v-hasPermi="['business:onlineTaskInfo:recived']" @click="handleRecivedVisible(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" size="mini" type="text" icon="el-icon-upload"
v-hasPermi="['business:onlineTaskInfo:importPayInfo']" @click="importPayInfo(scope.row)">导入名单</el-button> v-hasPermi="['business:onlineTaskInfo:importPayInfo']" @click="importPayInfo(scope.row)">导入名单</el-button>
<!-- <el-button--> <el-button
<!-- size="mini"--> size="mini"
<!-- type="text"--> type="text"
<!-- icon="el-icon-edit"--> icon="el-icon-edit"
<!-- @click="handleUpdate(scope.row)"--> @click="handleUpdate(scope.row)"
<!-- v-hasPermi="['business:onlineTaskInfo:edit']"--> v-hasPermi="['business:onlineTaskInfo:edit']"
<!-- >修改</el-button>--> >修改</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">
...@@ -176,14 +177,19 @@ ...@@ -176,14 +177,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 +197,7 @@ ...@@ -191,7 +197,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,6 +214,15 @@ ...@@ -208,6 +214,15 @@
</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>
...@@ -218,7 +233,7 @@ import { ...@@ -218,7 +233,7 @@ import {
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'
...@@ -241,8 +256,9 @@ export default { ...@@ -241,8 +256,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
...@@ -503,6 +519,13 @@ export default { ...@@ -503,6 +519,13 @@ export default {
const id = row.id || this.ids const id = row.id || this.ids
getOnlineTaskInfo(id).then(response => { getOnlineTaskInfo(id).then(response => {
this.form = response.data; this.form = response.data;
//服务时间
this.form.serviceTimeArr = [this.form.serviceTimeStart, this.form.serviceTimeEnd];
//查询合作机构list
this.queryTaxCompanyList(this.form.companyId);
this.onlineTaskId = row.id;
this.open = true; this.open = true;
this.title = "修改线上任务信息"; this.title = "修改线上任务信息";
}); });
...@@ -517,12 +540,14 @@ export default { ...@@ -517,12 +540,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();
}); });
} }
} }
...@@ -626,20 +651,33 @@ export default { ...@@ -626,20 +651,33 @@ export default {
}).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 +721,32 @@ export default { ...@@ -683,6 +721,32 @@ 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.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("已取消签订合同");
// });
} }
} }
}; };
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -107,6 +107,23 @@ ...@@ -107,6 +107,23 @@
</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"
...@@ -162,7 +179,8 @@ ...@@ -162,7 +179,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',
...@@ -323,6 +341,26 @@ export default { ...@@ -323,6 +341,26 @@ 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.companyName+'】企业生成电子签章?').then(function() {
const type = "tax";
makeSealPreCheck(row.id,type).then(response => {
if (response.code == 200) {
//校验完成 前往生成电子签章页面 sealCompanyInfo/index
self.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type , addFlag:true } })
}else {
self.$modal.msgError(response.data.msg)
}
})
})
},
/** 查看电子签章 */
viewSealInfo(row) {
const type = "hr";
this.$router.push({ path: '/seal/sealCompanyInfo', query: { bussinessId: row.id, bussinessType: type } })
} }
} }
} }
......
This diff is collapsed.
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