Commit 62c4d02b authored by wanghf's avatar wanghf

Merge remote-tracking branch '云效/feat/test-seal-rayin' into test

parents 849e1af9 51d2103f
......@@ -59,7 +59,7 @@
<el-table :data="onlineTaskInfoList" @selection-change="handleSelectionChange">
<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="status">
<template slot-scope="scope">
......@@ -69,20 +69,30 @@
<el-table-column label="所属行业" align="center" prop="industry" />
<el-table-column label="发起企业名称" align="center" prop="companyName" />
<el-table-column label="代发企业名称" align="center" prop="taxCompanyName" />
<el-table-column label="任务金额" align="center" prop="amount"/>
<el-table-column label="税率" align="center" prop="taxRate"/>
<el-table-column label="税费" align="center" prop="taxAmount"/>
<!-- <el-table-column label="结算金额" align="center" prop="amount"/>-->
<el-table-column label="所在区域" align="center" prop="area" />
<!-- <el-table-column label="详细地址" align="center" prop="address" />-->
<el-table-column label="服务时间" align="center" prop="serviceTime" />
<el-table-column label="零工人数" align="center" prop="needNum" />
<!-- <el-table-column label="计费说明" align="center" prop="billDesc" />-->
<!-- <el-table-column label="计费详情" align="center" prop="billDetail" />-->
<!-- <el-table-column label="计费说明" align="center" prop="billDesc" />-->
<!-- <el-table-column label="任务详情" align="center" prop="billDetail" />-->
<el-table-column label="发布时间" align="center" prop="releaseTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.releaseTime) }}</span>
<span>{{ parseTime(scope.row.createTime) }}</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="prviewPdfUrl(scope.row)">查看合同</el-button>
<el-button v-if="scope.row.status == 0 && checkPermi(['business:onlineTaskInfo:recived'])"
size="mini" type="text" icon="el-icon-s-order" @click="setTaxRate(scope.row)">设置税率</el-button>
<el-button v-if="scope.row.status == 1 && checkPermi(['business:onlineTaskInfo:add'])"
size="mini" type="text" icon="el-icon-s-check" @click="sealContract(scope.row)">确认任务</el-button>
<el-button v-if="scope.row.status == 10 || scope.row.status == 11 || scope.row.status == 21"
size="mini" type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button>
<el-button v-if="scope.row.status == 10 && checkPermi(['business:onlineTaskInfo:release'])" size="mini"
type="text" icon="el-icon-s-promotion" @click="handleRelease(scope.row)">发布任务</el-button>
<el-button v-if="scope.row.status == 11 && checkPermi(['business:onlineTaskInfo:recived'])" size="mini"
......@@ -125,8 +135,7 @@
</el-form-item>
<el-form-item label="发起企业" prop="companyId">
<el-select v-model="form.companyId" placeholder="请选择发起企业" @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-form-item>
<el-form-item label="任务名称" prop="taskName">
......@@ -137,35 +146,28 @@
</el-form-item>
<el-form-item label="代发企业" prop="taxCompanyId">
<el-select v-model="form.taxCompanyId" 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-form-item>
<!-- <el-form-item label="地区code" prop="araeCode">-->
<!-- <el-input v-model="form.araeCode" placeholder="请输入地区code" />-->
<!-- </el-form-item>-->
<el-form-item label="所在区域" prop="area">
<el-cascader style="width: 100%;" size="small" :options="options" v-model="form.selectedOptions"
@change="handleChange" />
</el-form-item>
<!-- <el-form-item label="所在区域" prop="area">
<el-input v-model="form.area" placeholder="请输入所在区域" />
<el-form-item label="任务金额" prop="amount">
<el-input-number v-model="form.amount" :precision="2" :step="1" :min="1" :max="999999999999.99" placeholder="请输入任务金额" style="width: 30%;"/>
</el-form-item>
<el-form-item label="详细地址" prop="address">
<el-input v-model="form.address" placeholder="请输入详细地址" />
</el-form-item>-->
<el-form-item label="服务时间" prop="serviceTime">
<el-date-picker clearable placeholder="请选择服务时间" v-model="form.serviceTimeArr" @change="changeServiceTime"
type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="所在区域" prop="area">
<el-cascader style="width: 100%;" size="small" :options="options" v-model="form.selectedOptions"
@change="handleChange" />
</el-form-item>
<el-form-item label="零工人数" prop="needNum">
<el-input v-model="form.needNum" type="number" placeholder="请输入零工人数" />
</el-form-item>
<el-form-item label="计费说明" prop="billDesc">
<el-input v-model="form.billDesc" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="计费详情" prop="billDetail">
<el-form-item label="任务详情" prop="billDetail">
<el-input v-model="form.billDetail" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="任务备注" prop="remark">
......@@ -173,7 +175,8 @@
</el-form-item>
</el-form>
<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(0)">保存</el-button>
<!-- <el-button type="primary" @click="handleNext(10)">下一步</el-button>-->
<el-button @click="cancel">取 消</el-button>
</div>
</div>
......@@ -182,7 +185,7 @@
<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="handlePrev">上一步</el-button>
<!-- <el-button type="primary" @click="handlePrev">上一步</el-button>-->
<el-button type="primary" @click.native="confirmSealContractFile">确认签订合同</el-button>
</div>
</div>
......@@ -224,6 +227,37 @@
<el-button type="primary" @click.native="handleRecived">接收任务并签订合同</el-button>
</div>
</el-dialog>
<!-- 设置费率 -->
<el-dialog title="设置税率" :visible.sync="taxRateVisible" width="600px" append-to-body center>
<el-form ref="formTaxRate" :model="formTaxRate" :rules="rulesTaxRate" label-width="120px">
<el-form-item label="任务编号" prop="taskNo">
<el-input v-model="formTaxRate.taskNo" placeholder="请输入任务编号" disabled />
</el-form-item>
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="formTaxRate.taskName" placeholder="请输入任务名称" disabled />
</el-form-item>
<el-form-item label="发起企业" prop="companyName">
<el-input v-model="formTaxRate.companyName" placeholder="请输入发起企业" disabled />
</el-form-item>
<el-form-item label="代发企业" prop="taxCompanyName">
<el-input v-model="formTaxRate.taxCompanyName" placeholder="请输入代发企业" disabled />
</el-form-item>
<el-form-item label="任务金额" prop="amount">
<el-input-number v-model="formTaxRate.amount" placeholder="请输入任务金额" style="width: 100%;"/>
</el-form-item>
<el-form-item label="税率" prop="taxRate">
<el-input-number v-model="formTaxRate.taxRate" placeholder="请输入税率" style="width: 100%;"
:precision="6" :step="0.001" :min="0" :max="1" @change="calcTaxAmount"/>
</el-form-item>
<el-form-item label="税费" prop="taxAmount">
<el-input-number v-model="formTaxRate.taxAmount" placeholder="请输入税费" disabled style="width: 100%;"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click.native="saveTaxRate(1)">保存税率</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -290,6 +324,7 @@ export default {
title: "",
// 是否显示弹出层
open: false,
taxRateVisible: false,
// 发布时间时间范围
daterangeReleaseTime: [],
// 查询参数
......@@ -311,6 +346,17 @@ export default {
form: {
taxCompanyId: null,
},
formTaxRate: {
},
rulesTaxRate: {
taxRate: [
{ required: true, message: "税率不能为空", trigger: ["blur", "change"] }
],
taxAmount: [
{ required: true, message: "税额不能为空", trigger: ["blur", "change"] }
]
},
// 表单校验
rules: {
id: [
......@@ -381,7 +427,7 @@ export default {
{ required: true, message: "计费说明不能为空", trigger: ["blur", "change"] }
],
billDetail: [
{ required: true, message: "计费详情不能为空", trigger: ["blur", "change"] }
{ required: true, message: "任务详情不能为空", trigger: ["blur", "change"] }
],
reason: [
{ required: true, message: "拒绝原因不能为空", trigger: ["blur", "change"] }
......@@ -401,6 +447,9 @@ export default {
releaseTime: [
{ required: true, message: "发布时间不能为空", trigger: ["blur", "change"] }
],
amount: [
{ required: true, message: "任务金额不能为空", trigger: ["blur", "change"] }
]
}
};
},
......@@ -535,6 +584,22 @@ export default {
this.open = true;
this.title = "添加线上任务信息";
},
/** 确认任务合同 */
sealContract(row) {
getOnlineTaskInfo(row.id).then(async (response) => {
if (response.code == 200) {
this.onlineTaskId = row.id;
this.form = response.data;
this.contractUrl = response.data.contractUrl;
this.active = 2;
this.open = true;
this.title = "确认任务合同";
this.$forceUpdate();
}else {
this.$modal.msgError(response.message);
}
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
......@@ -645,10 +710,12 @@ export default {
this.form.status = status;
addOnlineTaskInfoFirst(this.form).then(response => {
if (response.code == 200) {
this.contractUrl = response.data.contractUrl;
this.form = response.data;
this.onlineTaskId = response.data.id;
this.active = 2;
// this.contractUrl = response.data.contractUrl;
// this.form = response.data;
// this.onlineTaskId = response.data.id;
// this.active = 2;
this.open = false;
this.getList();
}
});
}
......@@ -748,10 +815,10 @@ export default {
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, '0'); // 补零
const date = String(now.getDate()).padStart(2, '0');
// const hours = String(now.getHours()).padStart(2, '0');
// const minutes = String(now.getMinutes()).padStart(2, '0');
// const seconds = String(now.getSeconds()).padStart(2, '0');
return `${year}${month}${date}`;
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const seconds = String(now.getSeconds()).padStart(2, '0');
return `${year}${month}${date}${hours}${minutes}${seconds}`;
},
confirmSealContractFile() {
// TODO 确认框
......@@ -779,6 +846,47 @@ export default {
// // 用户取消操作
// this.$modal.msgError("已取消签订合同");
// });
},
//设置费率
setTaxRate(row) {
this.$modal.loading("正在获取任务信息,请稍候...");
getOnlineTaskInfo(row.id).then((response) => {
if (response.code == 200) {
this.formTaxRate = response.data;
this.title = "确认任务合同";
this.taxRateVisible = true;
this.$forceUpdate();
}else {
this.$modal.msgError("获取任务信息失败:" + (response.msg || "未知错误"));
}
}).finally(() => {
this.$modal.closeLoading()
});
},
//保存费率
saveTaxRate(status) {
console.log(this.formTaxRate)
this.$refs["formTaxRate"].validate(valid => {
if (valid) {
this.formTaxRate.status = status;
addOnlineTaskInfoFirst(this.formTaxRate).then(response => {
if (response.code == 200) {
this.taxRateVisible = false;
this.getList();
}
});
}
});
},
//计算税额 保留两位小数
calcTaxAmount() {
const taxRate = parseFloat(this.formTaxRate.taxRate);
const amount = parseFloat(this.formTaxRate.amount);
console.log(taxRate, amount)
if (!isNaN(taxRate) && !isNaN(amount)) {
const taxAmount = (taxRate * amount).toFixed(2);
this.formTaxRate.taxAmount = taxAmount;
}
}
}
};
......
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