Commit 7ba953de authored by wanghf's avatar wanghf

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

# Conflicts:
#	src/views/business/onlineTaskInfo/index.vue
#	src/views/business/taxUnit/index.vue
parents 472b5a1c 2defa494
...@@ -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,14 +83,19 @@ ...@@ -83,14 +83,19 @@
<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="handleRecivedVisible(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 size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <!-- <el-button-->
v-hasPermi="['business:onlineTaskInfo:edit']">修改</el-button> <!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['business:onlineTaskInfo:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button--> <!-- <el-button-->
<!-- size="mini"--> <!-- size="mini"-->
<!-- type="text"--> <!-- type="text"-->
...@@ -119,7 +124,7 @@ ...@@ -119,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>
...@@ -223,6 +228,7 @@ ...@@ -223,6 +228,7 @@
</template> </template>
<script> <script>
import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
import { import {
listOnlineTaskInfo, listOnlineTaskInfo,
getOnlineTaskInfo, getOnlineTaskInfo,
...@@ -241,6 +247,8 @@ export default { ...@@ -241,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,
...@@ -300,86 +308,98 @@ export default { ...@@ -300,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"] }
], ],
} }
}; };
...@@ -437,7 +457,7 @@ export default { ...@@ -437,7 +457,7 @@ export default {
}, },
/** 查询线上任务信息列表 */ /** 查询线上任务信息列表 */
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];
...@@ -446,9 +466,11 @@ export default { ...@@ -446,9 +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;
this.$forceUpdate(); }).finally(() => {
}); this.$forceUpdate()
this.$modal.closeLoading()
})
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
...@@ -509,9 +531,9 @@ export default { ...@@ -509,9 +531,9 @@ 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) {
...@@ -582,10 +604,12 @@ export default { ...@@ -582,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);
} }
...@@ -598,6 +622,9 @@ export default { ...@@ -598,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()
} }
}) })
}, },
...@@ -648,7 +675,7 @@ export default { ...@@ -648,7 +675,7 @@ 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(() => { });
......
...@@ -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,50 +37,46 @@ ...@@ -58,50 +37,46 @@
</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>
...@@ -132,43 +107,22 @@ ...@@ -132,43 +107,22 @@
v-hasPermi="['business:unitInfo:edit']" v-hasPermi="['business:unitInfo:edit']"
>修改 >修改
</el-button> </el-button>
<el-button <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
size="mini" v-hasPermi="['business:unitInfo:remove']">删除
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">
...@@ -261,7 +215,7 @@ export default { ...@@ -261,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()
...@@ -270,7 +224,7 @@ export default { ...@@ -270,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',
...@@ -328,7 +282,7 @@ export default { ...@@ -328,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()
...@@ -366,3 +320,10 @@ export default { ...@@ -366,3 +320,10 @@ export default {
} }
} }
</script> </script>
<style lang="scss" scoped>
.addressStyle {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
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