Commit d4fb1cf2 by 严立

LL - 参与竞价状态异常处理

parent 3f66bf67
......@@ -111,7 +111,7 @@
</el-form-item>
<el-form-item label="发票类型(单选):" prop="companyInvoice">
<el-radio-group v-model="formRegister.companyInvoice" :value="formRegister.companyInvoice">
<el-radio label="1">增值税普票</el-radio>
<el-radio label="0">增值税普票</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="公司名称:" prop="companyName">
......@@ -370,8 +370,7 @@
'isQuote': funcResponse.isJoinBid,
'companyTax': funcResponse.taxType,
'companyInvoice': '1',
// 'companyInvoice': funcResponse.invoiceType.split(','),
'companyInvoice': '0',
'companyPhone': funcResponse.phone,
'bankName': funcResponse.openBank,
'bankAccount': funcResponse.bankAccount,
......@@ -380,7 +379,7 @@
'receiveType': funcResponse.receiveType ? funcResponse.receiveType : '0',
'receiveContactor': funcResponse.receiveContactor ? funcResponse.receiveContactor : '',
'receiveMobile': funcResponse.receiveMobile ? funcResponse.receiveMobile : '',
'receiveArea': funcResponse.receiveArea ? JSON.parse(funcResponse.receiveArea) : '',
'receiveArea': [],
'receiveAddress': funcResponse.receiveAddress ? funcResponse.receiveAddress : '',
'corporationName': funcResponse.contactName,
......@@ -392,11 +391,17 @@
'examineState': Number(funcResponse.auditState),
}
// 判断地址数据类型,同时兼容字符串与数组类型
if (Object.prototype.toString.call(funcResponse.receiveArea) === '[object String]') {
this.formRegister.receiveArea = JSON.parse(funcResponse.receiveArea)
} else {
this.formRegister.receiveArea = funcResponse.receiveArea
}
// 恢复区域数据
if (this.formRegister.receiveArea) {
this.$store.commit('areaSelection', this.formRegister.receiveArea)
}
console.log(this.formRegister)
// 设置营业执照图片
this.uploadOption.license.image.push({
......@@ -408,7 +413,7 @@
'uid': 1592304942343
})
// 设置竞承诺书图片
// 设置竞承诺书图片
if (this.formRegister.isQuote === '1') {
this.uploadOption.quote.image.push({
'status': 'success',
......@@ -424,6 +429,7 @@
this.$message.error(funcError.message)
})
},
reset: function () {
this.formRegister = {
'companyName': '',
......@@ -463,7 +469,7 @@
'isJoinBid': this.formRegister.isQuote,
'taxType': this.formRegister.companyTax,
'phone': this.formRegister.companyPhone,
'invoiceType': '1',
'invoiceType': '0',
'openBank': this.formRegister.bankName,
'bankAccount': this.formRegister.bankAccount,
'contactName': this.formRegister.corporationName,
......@@ -476,13 +482,6 @@
'receiveAddress': this.formRegister.receiveAddress
}
// for (let i = 0, len = funcParam.invoiceType.length; i < len; i++) {
// if (funcParam.invoiceType[i] === '增值税专票') funcParam.invoiceType[i] = 0
// if (funcParam.invoiceType[i] === '增值税普票') funcParam.invoiceType[i] = 1
// if (funcParam.invoiceType[i] === '其他类型') funcParam.invoiceType[i] = 2
// }
// funcParam.invoiceType = funcParam.invoiceType.join()
iRequest.request(iHost.base + 'bid/zUserCompany/saveUserInfo', funcParam, 'json', 'post')
.then((funcResponse) => {
this.$message({ message: '修改已提交,请等待审核', type: 'success' })
......@@ -538,9 +537,11 @@
return
}
if (this.uploadOption.quote.image[0].status === 'ready') {
this.$refs.uploadQuote.submit()
return
if (this.formRegister.isQuote === '1') {
if (this.uploadOption.quote.image[0].status === 'ready') {
this.$refs.uploadQuote.submit()
return
}
}
this.registerInfo()
}
......
......@@ -54,7 +54,7 @@
<span>是否参与网上竞价:</span>
<span>{{formInfo.isQuote === '0' ? '否' : '是'}}</span>
</div>
<div class="item-text row align-c" v-if="formInfo.quoteImage">
<div class="item-text row align-c" v-if="formInfo.isQuote === '1'">
<span>竞价承诺书:</span>
<el-button size="small" type="primary" @click.prevent="onUploadDownloadFile">点击下载</el-button>
</div>
......
<template>
<!-- 我的订单 - 申请开票 -->
<div class="supplier-orders-bill">
<!-- 页面地图 -->
<div class="detail-map row align-c">
<currencyMap :customPath="[{ text: '我的订单', redirect: '/supplier/orders' }, { text: '申请开票', redirect: null }]"></currencyMap>
</div>
<div class="detail-line"></div>
<!-- 项目信息 -->
<div class="detail-block">
<div class="detail-title row align-c">
<div class="row align-c">
<span>投标项目</span>
</div>
</div>
<div class="detail-content">
<div class="item-text row align-c">
<span>税务资质:</span>
<span>{{formInfo.companyTax}}</span>
</div>
<div class="item-text row align-c">
<span>发票类型:</span>
<el-radio-group v-model="formBills.type">
<el-radio label="增值税专票"></el-radio>
<el-radio label="增值税普票"></el-radio>
</el-radio-group>
</div>
<div class="item-text row align-c">
<span>公司名称:</span>
<span>{{formInfo.companyName}}</span>
</div>
<div class="item-text row align-c">
<span>纳税识别号:</span>
<span>{{formInfo.companyCode}}</span>
</div>
<div class="item-text row align-c">
<span>税务登记地址:</span>
<span>{{formInfo.companyAddress}}</span>
</div>
<div class="item-text row align-c">
<span>公司电话:</span>
<span>{{formInfo.companyPhone}}</span>
</div>
<div class="item-text row align-c">
<span>开户行:</span>
<span>{{formInfo.bankName}}</span>
</div>
<div class="item-text row align-c">
<span>银行账号:</span>
<span>{{formInfo.bankAccount}}</span>
</div>
</div>
</div>
<!-- 供应信息 -->
<div class="detail-block">
<div class="detail-title row align-c">
<div class="row align-c">
<span>寄送地址</span>
</div>
</div>
<div class="detail-content orders-bills">
<el-form ref="form" :model="formBills" :rules="rule" label-width="160px">
<el-form-item label="发票领取方式:">
<el-radio-group v-model="formBills.receiveType">
<el-radio label="0">寄送</el-radio>
<el-radio label="1">自取</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件人:" prop="name">
<el-input v-model="formBills.name" maxlength="30" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件人电话:" prop="phone">
<el-input v-model="formBills.phone" maxlength="20" placeholder="请输入电话"></el-input>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件地址:" prop="area">
<currencyArea @change="onAreaChange"></currencyArea>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="" prop="area">
<el-input v-model="formBills.area" maxlength="100" placeholder="请输入详细地址"></el-input>
</el-form-item>
<el-form-item class="form-button row">
<el-button type="primary" @click.prevent="onOpenBill()">确定</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
// npm
import iMiment from 'miment'
// 工具
import iHost from '@/common/js/host.js'
import iRule from '@/common/js/rule/rule.js'
import iRequest from '@/common/js/request/request.js'
import iCurrencyMap from '@/components/currency-map.vue'
import iCurrencyArea from '@/components/currency-area.vue'
import iElement from '@/common/js/element/repair.js'
export default {
components: {
currencyMap: iCurrencyMap,
currencyArea: iCurrencyArea,
},
data: function () {
return {
onOrdersId: 0, // 订单标识
componentOrder: {}, // 订单信息
componentProject: {}, // 项目数据
componentContract: [], // 合同数据
componentAgency: {}, // 供应信息
formInfo: {},
formBills: {},
companyInvoice: [
{ 'label': '增值税专票', 'value': 1 },
{ 'label': '增值税普票', 'value': 2 },
{ 'label': '其他类型', 'value': 3 },
],
// 表单验证
rule: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
{ validator: iRule.predefineRoutineText, trigger: 'blur'}
],
area: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
{ validator: iRule.predefineRoutineText, trigger: 'blur'}
],
phone: [
{ required: true, message: '请输入收件人联系号码', trigger: 'blur' },
{ validator: iRule.phoneAndFixedPhone, message: '请正确输入联系号码', trigger: 'blur'}
],
},
}
},
watch:{
$route: function () {
this.initKey()
}
},
created: function () {
this.initKey()
this.resetForm()
this.queryBillsInfo()
},
mounted: function () {
},
methods: {
initKey: function () {
this.onOrdersId = this.$route.query.id
},
resetForm: function () {
this.formInfo = {
'companyName': '',
'companyCode': '',
'companyAddress': '',
'companyInvoice': '',
'companyTax': '',
'companyPhone': '',
'bankName': '',
'bankAccount': '',
}
this.formBills = {
'name': '',
'phone': '',
'area': '',
'areaArray': [],
'type': '',
'receiveType': '0'
}
},
queryBillsInfo: function () {
iRequest.request(iHost.base + 'bid/order/getOrderBillingDetail', { 'orderId': this.onOrdersId } , 'json', 'post')
.then((funcResponse) => {
this.formInfo = {
'orderId': this.onOrdersI,
'companyName': funcResponse.companyName,
'companyCode': funcResponse.companyCode,
'companyAddress': funcResponse.address,
'companyInvoice': funcResponse.invoiceType,
'companyTax': funcResponse.taxType,
'companyPhone': funcResponse.phone,
'bankName': funcResponse.openBank,
'bankAccount': funcResponse.bankAccount,
}
// for (let i = 0, len = this.companyInvoice.length; i < len; i++) {
// if (this.companyInvoice[i].value === Number(this.formInfo.companyInvoice)) {
// this.formBills.type = this.companyInvoice[i].label
// }
// }
})
.catch((funcError) => {})
},
/**
* 地域选择组件
* @function
* @param {array } funcArea - ['省份', '城市', '区域' ]
* @returns
*/
onAreaChange: function (funcArea) {
console.log(funcArea)
this.formBills.areaArray = funcArea
},
onOpenBill: function () {
if (!this.formBills.type) {
this.$message.error('请选择发票类型')
return
}
this.$refs.form.validate(funcValid => {
if (funcValid) {
let funcParam = {
'orderId': this.onOrdersId,
'name': this.formBills.name,
'phone': this.formBills.phone,
'area': this.formBills.areaArray.join('/'),
'address': this.formBills.area,
'invoiceType': '',
'receiveType': this.formBills.receiveType
}
for (let i = 0, len = this.companyInvoice.length; i < len; i++) {
if (this.companyInvoice[i].label === this.formBills.type) {
funcParam.invoiceType = this.companyInvoice[i].value
}
}
console.log(JSON.stringify(funcParam))
iRequest.request(iHost.base + 'bid/order/doOrderBilling', funcParam, 'json', 'post')
.then((funcResponse) => {
this.$message({ message: '开票成功', type: 'success' })
this.$router.push('/supplier/ordersdetail?id=' + this.onOrdersId)
})
.catch((funcError) => {
this.$message.error(funcError.message)
})
}
})
},
}
}
</script>
<style lang="less">
.supplier-orders-bill {
width: 100%;
.detail-map {
height: 66px;
border-bottom: 1px #EFEFEF solid;
}
.detail-operation {
height: 40px;
margin-top: 24px;
button {
width: 106px;
height: 36px;
margin-left: 12px;
border:1px solid @colorBlue;
border-radius: 18px;
color: @colorBlue;
background: #FFFFFF;
font-size: @fontSize02;
}
}
.detail-line {
height: 1px;
margin-bottom: 20px;
background: #EFEFEF;
}
.detail-block {
.detail-title {
width: 100%;
> div {
width: 100%;
height: 40px;
padding: 0 12px;
background: #F2F2F2;
}
span {
font-weight: 800;
font-size: @fontSize01;
}
}
.detail-title-white {
> div {
background: #FFFFFF;
}
}
.detail-content {
margin: 30px 0;
.item-text {
> span:nth-child(1) {
min-width: 150px;
margin: 6px 16px 6px 0;
text-align: right;
font-size: @fontSize02;
}
> span:nth-child(2) {
margin: 6px 0;
font-size: @fontSize01;
}
}
}
.orders-bills {
width: 664px;
}
}
.form-button button {
width: 160px;
height: 50px;
color: #ffffff;
background: #2575fa;
border-radius: 26px;
border: none;
}
.form-button button:hover {
color: #ffffff;
background: #2575fa;
border-radius: 26px;
border: none;
}
}
<template>
<!-- 我的订单 - 申请开票 -->
<div class="supplier-orders-bill">
<!-- 页面地图 -->
<div class="detail-map row align-c">
<currencyMap :customPath="[{ text: '我的订单', redirect: '/supplier/orders' }, { text: '申请开票', redirect: null }]"></currencyMap>
</div>
<div class="detail-line"></div>
<!-- 项目信息 -->
<div class="detail-block">
<div class="detail-title row align-c">
<div class="row align-c">
<span>投标项目</span>
</div>
</div>
<div class="detail-content">
<div class="item-text row align-c">
<span>税务资质:</span>
<span>{{formInfo.companyTax}}</span>
</div>
<div class="item-text row align-c">
<span>发票类型:</span>
<el-radio-group v-model="formBills.type">
<el-radio label="增值税专票"></el-radio>
<el-radio label="增值税普票"></el-radio>
</el-radio-group>
</div>
<div class="item-text row align-c">
<span>公司名称:</span>
<span>{{formInfo.companyName}}</span>
</div>
<div class="item-text row align-c">
<span>纳税识别号:</span>
<span>{{formInfo.companyCode}}</span>
</div>
<div class="item-text row align-c">
<span>税务登记地址:</span>
<span>{{formInfo.companyAddress}}</span>
</div>
<div class="item-text row align-c">
<span>公司电话:</span>
<span>{{formInfo.companyPhone}}</span>
</div>
<div class="item-text row align-c">
<span>开户行:</span>
<span>{{formInfo.bankName}}</span>
</div>
<div class="item-text row align-c">
<span>银行账号:</span>
<span>{{formInfo.bankAccount}}</span>
</div>
</div>
</div>
<!-- 供应信息 -->
<div class="detail-block">
<div class="detail-title row align-c">
<div class="row align-c">
<span>寄送地址</span>
</div>
</div>
<div class="detail-content orders-bills">
<el-form ref="form" :model="formBills" :rules="rule" label-width="160px">
<el-form-item label="发票领取方式:">
<el-radio-group v-model="formBills.receiveType">
<el-radio label="0">寄送</el-radio>
<el-radio label="1">自取</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件人:" prop="name">
<el-input v-model="formBills.name" maxlength="30" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件人电话:" prop="phone">
<el-input v-model="formBills.phone" maxlength="20" placeholder="请输入电话"></el-input>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="收件地址:" prop="area">
<currencyArea @change="onAreaChange"></currencyArea>
</el-form-item>
<el-form-item v-if="formBills.receiveType === '0'" label="" prop="area">
<el-input v-model="formBills.area" maxlength="100" placeholder="请输入详细地址"></el-input>
</el-form-item>
<el-form-item class="form-button row">
<el-button type="primary" @click.prevent="onOpenBill()">确定</el-button>
</el-form-item>
</el-form>
</div>
</div>
</div>
</template>
<script>
// npm
import iMiment from 'miment'
// 工具
import iHost from '@/common/js/host.js'
import iRule from '@/common/js/rule/rule.js'
import iRequest from '@/common/js/request/request.js'
import iCurrencyMap from '@/components/currency-map.vue'
import iCurrencyArea from '@/components/currency-area.vue'
import iElement from '@/common/js/element/repair.js'
export default {
components: {
currencyMap: iCurrencyMap,
currencyArea: iCurrencyArea,
},
data: function () {
return {
onOrdersId: 0, // 订单标识
componentOrder: {}, // 订单信息
componentProject: {}, // 项目数据
componentContract: [], // 合同数据
componentAgency: {}, // 供应信息
formInfo: {},
formBills: {},
companyInvoice: [
{ 'label': '增值税专票', 'value': 1 },
{ 'label': '增值税普票', 'value': 2 },
{ 'label': '其他类型', 'value': 3 },
],
// 表单验证
rule: {
name: [
{ required: true, message: '请输入姓名', trigger: 'blur' },
{ validator: iRule.predefineRoutineText, trigger: 'blur'}
],
area: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
{ validator: iRule.predefineRoutineText, trigger: 'blur'}
],
phone: [
{ required: true, message: '请输入收件人联系号码', trigger: 'blur' },
{ validator: iRule.phoneAndFixedPhone, message: '请正确输入联系号码', trigger: 'blur'}
],
},
}
},
watch:{
$route: function () {
this.initKey()
}
},
created: function () {
this.initKey()
this.resetForm()
this.queryBillsInfo()
},
mounted: function () {
},
methods: {
initKey: function () {
this.onOrdersId = this.$route.query.id
},
resetForm: function () {
this.formInfo = {
'companyName': '',
'companyCode': '',
'companyAddress': '',
'companyInvoice': '',
'companyTax': '',
'companyPhone': '',
'bankName': '',
'bankAccount': '',
}
this.formBills = {
'name': '',
'phone': '',
'area': '',
'areaArray': [],
'type': '',
'receiveType': '0'
}
},
queryBillsInfo: function () {
iRequest.request(iHost.base + 'bid/order/getOrderBillingDetail', { 'orderId': this.onOrdersId } , 'json', 'post')
.then((funcResponse) => {
this.formInfo = {
'orderId': this.onOrdersI,
'companyName': funcResponse.companyName,
'companyCode': funcResponse.companyCode,
'companyAddress': funcResponse.address,
'companyInvoice': funcResponse.invoiceType,
'companyTax': funcResponse.taxType,
'companyPhone': funcResponse.phone,
'bankName': funcResponse.openBank,
'bankAccount': funcResponse.bankAccount,
}
})
.catch((funcError) => {})
},
/**
* 地域选择组件
* @function
* @param {array } funcArea - ['省份', '城市', '区域' ]
* @returns
*/
onAreaChange: function (funcArea) {
console.log(funcArea)
this.formBills.areaArray = funcArea
},
onOpenBill: function () {
if (!this.formBills.type) {
this.$message.error('请选择发票类型')
return
}
this.$refs.form.validate(funcValid => {
if (funcValid) {
let funcParam = {
'orderId': this.onOrdersId,
'name': this.formBills.name,
'phone': this.formBills.phone,
'area': this.formBills.areaArray.join('/'),
'address': this.formBills.area,
'invoiceType': '0',
'receiveType': this.formBills.receiveType
}
console.log(JSON.stringify(funcParam))
iRequest.request(iHost.base + 'bid/order/doOrderBilling', funcParam, 'json', 'post')
.then((funcResponse) => {
this.$message({ message: '开票成功', type: 'success' })
this.$router.push('/supplier/ordersdetail?id=' + this.onOrdersId)
})
.catch((funcError) => {
this.$message.error(funcError.message)
})
}
})
},
}
}
</script>
<style lang="less">
.supplier-orders-bill {
width: 100%;
.detail-map {
height: 66px;
border-bottom: 1px #EFEFEF solid;
}
.detail-operation {
height: 40px;
margin-top: 24px;
button {
width: 106px;
height: 36px;
margin-left: 12px;
border:1px solid @colorBlue;
border-radius: 18px;
color: @colorBlue;
background: #FFFFFF;
font-size: @fontSize02;
}
}
.detail-line {
height: 1px;
margin-bottom: 20px;
background: #EFEFEF;
}
.detail-block {
.detail-title {
width: 100%;
> div {
width: 100%;
height: 40px;
padding: 0 12px;
background: #F2F2F2;
}
span {
font-weight: 800;
font-size: @fontSize01;
}
}
.detail-title-white {
> div {
background: #FFFFFF;
}
}
.detail-content {
margin: 30px 0;
.item-text {
> span:nth-child(1) {
min-width: 150px;
margin: 6px 16px 6px 0;
text-align: right;
font-size: @fontSize02;
}
> span:nth-child(2) {
margin: 6px 0;
font-size: @fontSize01;
}
}
}
.orders-bills {
width: 664px;
}
}
.form-button button {
width: 160px;
height: 50px;
color: #ffffff;
background: #2575fa;
border-radius: 26px;
border: none;
}
.form-button button:hover {
color: #ffffff;
background: #2575fa;
border-radius: 26px;
border: none;
}
}
</style>
\ No newline at end of file
......@@ -281,8 +281,8 @@
'agencLiaison': funcResponse.company.contactName,
}
if (funcResponse.orderBilling.name) {
this.isReceive = true
if (funcResponse.orderBilling) {
this.isReceive = !Boolean(Number(funcResponse.orderBilling.receiveType))
this.componentReceive = {
'name': funcResponse.orderBilling.name,
'phone': funcResponse.orderBilling.phone,
......@@ -300,6 +300,8 @@
this.isReceive = false
}
console.log(this.isReceive)
if (this.componentProject.isPackage) {
// 多个合同
let funcRawData = funcResponse.order.tenderPackages
......
......@@ -139,9 +139,9 @@
<el-radio label="2">非增值纳税人</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="发票类型(可多选):" prop="companyInvoice">
<el-form-item label="发票类型(选):" prop="companyInvoice">
<el-radio-group v-model="formRegister.companyInvoice" :value="formRegister.companyInvoice">
<el-radio label="0">增值税</el-radio>
<el-radio label="0">增值税</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="公司名称:" prop="companyName">
......@@ -287,7 +287,7 @@
companyPhone: '',
bankName: '',
bankAccount: '',
receiveType: '',
receiveType: '0',
receiveContactor: '',
receiveMobile: '',
receiveArea: [],
......@@ -431,6 +431,9 @@
{ required: true, message: '请再次输入登录密码', trigger: 'blur' },
{ validator: (funcRule, funcValue, funcCallback) => iRule.passwordRepeat(funcRule, funcValue, funcCallback, this.formRegister.password), message: '与登录密码不一致,请重新输入', trigger: 'blur'}
],
receiveType: [
{ required: true, message: '请输选择发票领取方式', trigger: 'blur' },
],
receiveContactor: [
{ required: true, message: '请输入收件人姓名', trigger: 'blur' },
{ validator: iRule.predefineRoutineText, message: '请正确输入姓名', trigger: 'blur'}
......@@ -485,7 +488,7 @@
companyPhone: '',
bankName: '',
bankAccount: '',
receiveType: '',
receiveType: '1',
receiveContactor: '',
receiveMobile: '',
receiveArea: [],
......
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 sign in to comment