Commit 8dcbad7c authored by 谢子梦's avatar 谢子梦

stage:线上任务管理合同加入

parent 4be822f0
...@@ -2,47 +2,22 @@ ...@@ -2,47 +2,22 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
<el-form-item label="任务编号" prop="taskNo"> <el-form-item label="任务编号" prop="taskNo">
<el-input <el-input v-model="queryParams.taskNo" placeholder="请输入任务编号" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.taskNo"
placeholder="请输入任务编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="任务名称" prop="taskName"> <el-form-item label="任务名称" prop="taskName">
<el-input <el-input v-model="queryParams.taskName" placeholder="请输入任务名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.taskName"
placeholder="请输入任务名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="发起企业名称" prop="companyName"> <el-form-item label="发起企业名称" prop="companyName">
<el-input <el-input v-model="queryParams.companyName" placeholder="请输入发起企业名称" clearable
v-model="queryParams.companyName" @keyup.enter.native="handleQuery" />
placeholder="请输入发起企业名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="代发企业名称" prop="taxCompanyName"> <el-form-item label="代发企业名称" prop="taxCompanyName">
<el-input <el-input v-model="queryParams.taxCompanyName" placeholder="请输入代发企业名称" clearable
v-model="queryParams.taxCompanyName" @keyup.enter.native="handleQuery" />
placeholder="请输入代发企业名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="发布时间"> <el-form-item label="发布时间">
<el-date-picker <el-date-picker v-model="daterangeReleaseTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
v-model="daterangeReleaseTime" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
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-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>
...@@ -52,15 +27,10 @@ ...@@ -52,15 +27,10 @@
<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:onlineTaskInfo:add']">发布任务</el-button>
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:onlineTaskInfo:add']"
>发布任务</el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="success" type="success"
icon="el-icon-edit" icon="el-icon-edit"
...@@ -81,13 +51,8 @@ ...@@ -81,13 +51,8 @@
>删除</el-button> >删除</el-button>
</el-col>--> </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport"
type="warning" v-hasPermi="['business:onlineTaskInfo:export']">导出</el-button>
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:onlineTaskInfo:export']"
>导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
...@@ -105,11 +70,11 @@ ...@@ -105,11 +70,11 @@
<el-table-column label="发起企业名称" align="center" prop="companyName" /> <el-table-column label="发起企业名称" align="center" prop="companyName" />
<el-table-column label="代发企业名称" align="center" prop="taxCompanyName" /> <el-table-column label="代发企业名称" align="center" prop="taxCompanyName" />
<el-table-column label="所在区域" align="center" prop="area" /> <el-table-column label="所在区域" align="center" prop="area" />
<!-- <el-table-column label="详细地址" align="center" prop="address" />--> <!-- <el-table-column label="详细地址" align="center" prop="address" />-->
<el-table-column label="服务时间" align="center" prop="serviceTime"/> <el-table-column label="服务时间" align="center" prop="serviceTime" />
<el-table-column label="零工人数" align="center" prop="needNum" /> <el-table-column label="零工人数" align="center" prop="needNum" />
<!-- <el-table-column label="计费说明" align="center" prop="billDesc" />--> <!-- <el-table-column label="计费说明" align="center" prop="billDesc" />-->
<!-- <el-table-column label="计费详情" align="center" prop="billDetail" />--> <!-- <el-table-column label="计费详情" align="center" prop="billDetail" />-->
<el-table-column label="发布时间" align="center" prop="releaseTime" width="180"> <el-table-column label="发布时间" align="center" prop="releaseTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.releaseTime) }}</span> <span>{{ parseTime(scope.row.releaseTime) }}</span>
...@@ -117,78 +82,51 @@ ...@@ -117,78 +82,51 @@
</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 size="mini" type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button>
size="mini" <el-button v-if="scope.row.status == 10" size="mini" type="text" icon="el-icon-s-promotion"
type="text" v-hasPermi="['business:onlineTaskInfo:release']" @click="handleRelease(scope.row)">发布任务</el-button>
icon="el-icon-view" <el-button v-if="scope.row.status == 11" size="mini" type="text" icon="el-icon-s-promotion"
@click="prviewPdfUrl(scope.row)" v-hasPermi="['business:onlineTaskInfo:recived']" @click="handleRecived(scope.row)">接收任务</el-button>
>查看合同</el-button> <el-button v-if="scope.row.status == 21" size="mini" type="text" icon="el-icon-upload"
<el-button v-hasPermi="['business:onlineTaskInfo:importPayInfo']" @click="importPayInfo(scope.row)">导入名单</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>
<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>
<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>
<!-- <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"-->
<!-- icon="el-icon-delete"--> <!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"--> <!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['business:onlineTaskInfo:remove']"--> <!-- v-hasPermi="['business:onlineTaskInfo: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="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" 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-steps> </el-steps>
<div style="margin-top: 20px;" v-if="active == 1"> <div style="margin-top: 20px;" v-if="active == 1">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="任务编号" prop="taskNo"> <el-form-item label="任务编号" prop="taskNo">
<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="请选择发起企业" clearable @change="applyCompanyChange">
<el-option v-for="item in applyCompanyList" :key="item.id" :label="item.companyName" :value="item.id"></el-option> <el-option v-for="item in applyCompanyList" :key="item.id" :label="item.companyName"
:value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务名称" prop="taskName"> <el-form-item label="任务名称" prop="taskName">
...@@ -199,7 +137,8 @@ ...@@ -199,7 +137,8 @@
</el-form-item> </el-form-item>
<el-form-item label="代发企业" prop="taxCompanySignId"> <el-form-item label="代发企业" prop="taxCompanySignId">
<el-select v-model="form.taxCompanySignId" placeholder="请选择代发企业" clearable @change="taxCompanyChange"> <el-select v-model="form.taxCompanySignId" placeholder="请选择代发企业" clearable @change="taxCompanyChange">
<el-option v-for="item in taxCompanyList" :key="item.id" :label="item.taxUnitName" :value="item.id"></el-option> <el-option v-for="item in taxCompanyList" :key="item.id" :label="item.taxUnitName"
:value="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="地区code" prop="araeCode">--> <!-- <el-form-item label="地区code" prop="araeCode">-->
...@@ -212,15 +151,8 @@ ...@@ -212,15 +151,8 @@
<!-- <el-input v-model="form.address" placeholder="请输入详细地址" />--> <!-- <el-input v-model="form.address" placeholder="请输入详细地址" />-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="服务时间" prop="serviceTime"> <el-form-item label="服务时间" prop="serviceTime">
<el-date-picker <el-date-picker clearable placeholder="请选择服务时间" v-model="form.serviceTimeArr" @change="changeServiceTime"
clearable type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
placeholder="请选择服务时间"
v-model="form.serviceTimeArr"
@change="changeServiceTime"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="零工人数" prop="needNum"> <el-form-item label="零工人数" prop="needNum">
...@@ -236,7 +168,7 @@ ...@@ -236,7 +168,7 @@
<el-input v-model="form.remark" type="textarea" placeholder="请输入任务备注" /> <el-input v-model="form.remark" type="textarea" placeholder="请输入任务备注" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="handleNext(10)">下一步</el-button> <el-button type="primary" @click="handleNext(10)">下一步</el-button>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
...@@ -244,9 +176,11 @@ ...@@ -244,9 +176,11 @@
<div class="demo-form" v-if="active == 2"> <div class="demo-form" v-if="active == 2">
<!-- TODO 待优化 pdf预览 --> <!-- TODO 待优化 pdf预览 -->
<div style="margin: 20px;padding: 20px;"> <div style="margin: 20px;padding: 20px;">
<el-button type="success" @click="handleLook">查看合同</el-button> <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"> <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="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>
...@@ -294,8 +228,8 @@ export default { ...@@ -294,8 +228,8 @@ export default {
data() { data() {
return { return {
// 任务名称 // 任务名称
batchPayName : '', batchPayName: '',
onlineTaskId : '', onlineTaskId: '',
// 支付方式 // 支付方式
payType: '', payType: '',
payVisible: false, payVisible: false,
...@@ -449,14 +383,14 @@ export default { ...@@ -449,14 +383,14 @@ export default {
listCompanyInfo(queryParams).then(response => { listCompanyInfo(queryParams).then(response => {
if (bindType == 1) { if (bindType == 1) {
this.applyCompanyList = response.rows; this.applyCompanyList = response.rows;
}else if (bindType == 2) { } else if (bindType == 2) {
this.taxCompanyList = response.rows; this.taxCompanyList = response.rows;
} }
this.loading = false; this.loading = false;
}); });
}, },
//查询合作机构list //查询合作机构list
queryTaxCompanyList(applyCompanyId){ queryTaxCompanyList(applyCompanyId) {
const queryParams = { const queryParams = {
inviterId: applyCompanyId, inviterId: applyCompanyId,
signStatus: 2, signStatus: 2,
...@@ -465,7 +399,7 @@ export default { ...@@ -465,7 +399,7 @@ export default {
} }
laborSign(queryParams).then(response => { laborSign(queryParams).then(response => {
if (response.code == 200) { if (response.code == 200) {
if(response.total == 0){ if (response.total == 0) {
this.$modal.msgError("该企业未签约,无法发布任务"); this.$modal.msgError("该企业未签约,无法发布任务");
return; return;
} }
...@@ -537,7 +471,7 @@ export default { ...@@ -537,7 +471,7 @@ export default {
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
...@@ -589,12 +523,12 @@ export default { ...@@ -589,12 +523,12 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除线上任务信息编号为"' + ids + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除线上任务信息编号为"' + ids + '"的数据项?').then(function () {
return delOnlineTaskInfo(ids); return delOnlineTaskInfo(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => { });
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
...@@ -660,7 +594,7 @@ export default { ...@@ -660,7 +594,7 @@ export default {
}, },
//发布任务 //发布任务
handleRelease(row) { handleRelease(row) {
this.$confirm('是否确认发布任务【'+row.taskName+'】?', '提示', { this.$confirm('是否确认发布任务【' + row.taskName + '】?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
...@@ -673,11 +607,11 @@ export default { ...@@ -673,11 +607,11 @@ export default {
location.reload(); location.reload();
} }
}) })
}).catch(() => {}); }).catch(() => { });
}, },
//接收任务 //接收任务
handleRecived(row) { handleRecived(row) {
this.$confirm('是否确认接收任务【'+row.taskName+'】?', '提示', { this.$confirm('是否确认接收任务【' + row.taskName + '】?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
...@@ -690,7 +624,7 @@ export default { ...@@ -690,7 +624,7 @@ export default {
location.reload(); location.reload();
} }
}) })
}).catch(() => {}); }).catch(() => { });
}, },
//查看合同 //查看合同
prviewPdfUrl(row) { prviewPdfUrl(row) {
...@@ -704,19 +638,19 @@ export default { ...@@ -704,19 +638,19 @@ export default {
importPayInfo(row) { importPayInfo(row) {
this.payVisible = true; this.payVisible = true;
this.onlineTaskId = row.id; this.onlineTaskId = row.id;
this.batchPayName = "线上发包任务-"+row.taskName+"-"+row.id; this.batchPayName = "线上发包任务-" + row.taskName + "-" + row.id;
console.log(this.batchPayName) console.log(this.batchPayName)
}, },
// 跳转到批量到支付宝 // 跳转到批量到支付宝
toLinkAlipay() { toLinkAlipay() {
console.log(this.batchPayName) console.log(this.batchPayName)
this.$router.push({ path: "/transfer/batchToAli", query: { batchPayName: this.batchPayName, onlineTaskId:this.onlineTaskId } }); this.$router.push({ path: "/transfer/batchToAli", query: { batchPayName: this.batchPayName, onlineTaskId: this.onlineTaskId } });
this.payVisible = false this.payVisible = false
}, },
// 跳转到批量到银行卡 // 跳转到批量到银行卡
toLinkBankCard() { toLinkBankCard() {
console.log(this.batchPayName) console.log(this.batchPayName)
this.$router.push({ path: "/transfer/batchToBank", query: { batchPayName: this.batchPayName, onlineTaskId:this.onlineTaskId } }); this.$router.push({ path: "/transfer/batchToBank", query: { batchPayName: this.batchPayName, onlineTaskId: this.onlineTaskId } });
this.payVisible = false this.payVisible = false
}, },
generateTimeCodeWithRandom() { generateTimeCodeWithRandom() {
...@@ -734,7 +668,7 @@ export default { ...@@ -734,7 +668,7 @@ export default {
// const seconds = String(now.getSeconds()).padStart(2, '0'); // const seconds = String(now.getSeconds()).padStart(2, '0');
return `${year}${month}${date}`; return `${year}${month}${date}`;
} }
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
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