Commit 81099525 authored by 郑娟's avatar 郑娟

B系列接口新增字段

parent ac8bf765
......@@ -2,44 +2,67 @@
<list-item :item-height="44">
<div>
<div slot="name" class="section-title" style="">车辆行驶证</div>
<item v-for="(ele, i) of driving_permit" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ car[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ car[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ car[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ car[ele.prop] }}</span>
</item>
<Collapse v-model="activeNames_c">
<CollapseItem v-for="(item,index) of car" :key="'c'+index" :name="'c'+index" :title="'车辆行驶证'+(index+1)">
<item v-for="(ele, i) of driving_permit" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ item[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ item[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ item[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ item[ele.prop] }}</span>
</item>
</CollapseItem>
</Collapse>
</div>
<div>
<div slot="name" class="section-title" style="">房产证</div>
<item v-for="(ele, i) of house_card" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ house[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ house[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ house[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ house[ele.prop] }}</span>
</item>
<Collapse v-model="activeNames_h">
<CollapseItem v-for="(item,index) of house" :key="'h'+index" :name="'h'+index" :title="'房产证'+(index+1)">
<item v-for="(ele, i) of house_card" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ item[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ item[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ item[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ item[ele.prop] }}</span>
</item>
</CollapseItem>
</Collapse>
</div>
<div>
<div slot="name" class="section-title" style="">不动产权证</div>
<item v-for="(ele, i) of real_est" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ real[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ real[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ real[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ real[ele.prop] }}</span>
</item>
<Collapse v-model="activeNames_p">
<CollapseItem v-for="(item,index) of real" :key="'p'+index" :name="'p'+index" :title="'不动产权证'+(index+1)">
<item v-for="(ele, i) of real_est" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ real[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ item[ele.prop] | currency }}</span>
<span v-else-if="ele.type === 'bool'" slot="content">{{ item[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ item[ele.prop] }}</span>
</item>
</CollapseItem>
</Collapse>
</div>
</list-item>
</template>
<script>
import { Collapse, CollapseItem } from 'vant'
import 'vant/lib/collapse/style'
import 'vant/lib/collapse-item/style'
export default {
components: {
Collapse, CollapseItem},
props: ['car', 'house', 'real'],
data () {
return {
activeNames_h: [0], // 折叠面板 房产证
activeNames_p: [0], // 折叠面板 不动产权
activeNames_c: [0], // 折叠面板 车辆行驶证
}
},
computed: {
......@@ -81,6 +104,7 @@ export default {
['号牌号码', 'plate_number', 'text'],
['注册日期', 'regist_date', 'date'],
['数量', 'words_result_num', 'text'],
// ['驾照类型', 'driving_license_type_n', 'text'],
]
return this.factory(driving_permit)
},
......
......@@ -10,6 +10,10 @@
<span v-else-if="ele.type === 'bool'" slot="content">{{ baseInfo[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ baseInfo[ele.prop] }}</span>
</item>
<Field
v-model="baseInfo.customer_nature_n"
:required="true" :is-link="true" input-align="right"
label="客户性质选择" @click="showPicker()" placeholder="请选择"/>
</div>
<div>
......@@ -32,14 +36,30 @@
<span v-else slot="content">{{ baseInfo[ele.prop] }}</span>
</item>
</div>
<div class="foot-bottom">
<button class="success" @click="save">保存</button>
</div>
<ActionSheet
v-model="picker_show" :actions="actions" :close-on-click-action="true" :closeable="false"
title="客户性质选择" @select="onSelect" />
</list-item>
</template>
<script>
import { Field, ActionSheet } from 'vant'
import 'vant/lib/field/style'
import 'vant/lib/action-sheet/style'
export default {
components: {
Field,
ActionSheet,
},
props: ['baseInfo'],
data () {
return {
actions: [], // 下拉框
customerType: [], // 客户性质下拉框
picker_show: false,
}
},
computed: {
......@@ -53,7 +73,65 @@ export default {
return this.createForm_quality()
},
},
created () {
this.getDropBox()
},
methods: {
onSelect (value) {
let val = value.name
this.$set(this.baseInfo, 'customer_nature_n', val)
let arr = this.customerType.filter(item => item.code_name === val)
this.$set(this.baseInfo, 'customer_nature', arr[0].code)
},
showPicker () {
this.actions = this.customerType.map(item => ({name: item.code_name}))
this.picker_show = true
},
// 下拉框数据获取
async getDropBox () {
let url = process.env.basePath + 'app_get_syscode'
let param = {
'CUSTOMER_NATURE': 'CUSTOMER_NATURE',
}
// hlsPopup.showLoading('请稍候')
let res = await this.$post(url, param)
// this.hlsPopup.hideLoading()
if (res.return_status === 'S') {
this.customerType = res.CUSTOMER_NATURE
}
},
async save () {
let flag = false
let obj = {
'bp_id': this.baseInfo['bp_id'],
}
obj['customer_nature_n'] = this.baseInfo['customer_nature_n']
obj['customer_nature'] = this.baseInfo['customer_nature']
Object.keys(obj).map(key => {
if (obj[key] === undefined || obj[key] === null || obj[key] === '') {
flag = true
}
})
console.log(obj)
if (flag) {
hlsPopup.showLongCenter('请将必填字段填写完整')
return
}
let url = process.env.basePath + 'bp_access_info_save'
let param = {
'master': obj,
}
hlsPopup.showLoading('请稍候')
let res = await this.$post(url, param)
this.hlsPopup.hideLoading()
if (res.result === 'S') {
hlsPopup.showLongCenter('保存成功')
} else {
hlsPopup.showLongCenter('保存失败')
}
},
factory (arr) {
let outArr = []
if (arr.length) {
......@@ -88,6 +166,8 @@ export default {
['户籍地址', 'address_on_resident_booklit', 'text'],
['联系地址', 'living_address', 'text'],
['资产', 'capital', 'text'],
['驾照类型', 'driving_license_type_n', 'text'],
]
let baseInfo_B = [// 经销商/主机厂/办事处
......@@ -95,6 +175,8 @@ export default {
['学历', 'academic_background_n', 'text'],
['婚姻状况', 'marital_status_n', 'text'],
['身份证', 'id_card_no', 'text'],
['年份', 'id_card_no_yy', 'text'],
['月份', 'id_card_no_mm', 'text'],
['证件有效期从', 'id_card_date_from', 'date'],
['证件有效期到', 'id_card_date_to', 'date'],
['业务办理地(省)', 'province_n', 'text'],
......@@ -145,4 +227,7 @@ export default {
line-height: 0.5rem;
margin-top: 12px;
}
/deep/ #contract-details .van-cell{
background-color: white;
}
</style>
......@@ -11,6 +11,10 @@
<Checkbox v-else-if="ele.type === 'checkbox'" :value="baseInfo[ele.prop]==='Y'" shape="square"/>
<span v-else slot="content">{{ baseInfo[ele.prop] }}</span>
</item>
<Field
v-model="baseInfo.customer_nature_n"
:required="true" :is-link="true" input-align="right"
label="客户性质选择" @click="showPicker()" placeholder="请选择"/>
</div>
<div v-if="['FACTORY'].indexOf(baseInfo.bp_type)===-1" class="baseinfo-supp">
......@@ -33,6 +37,17 @@
<span v-else slot="content">{{ baseInfo[ele.prop] }}</span>
</item>
</div>
<div>
<div slot="name" class="section-title" style="">实际控制人信息</div>
<item v-for="(ele, i) of ctrlInfo" :key="ele.title">
<div slot="name" class="font-color">{{ ele.title }}</div>
<span v-if="ele.type === 'date'" slot="content">{{ baseInfo[ele.prop] | dateFormat }}</span>
<span v-else-if="ele.type === 'currency'" slot="content">{{ baseInfo[ele.prop] | currency }}</span>
<Checkbox v-else-if="ele.type === 'checkbox'" :value="baseInfo[ele.prop]==='Y'" shape="square"/>
<span v-else-if="ele.type === 'bool'" slot="content">{{ baseInfo[ele.prop] === 'Y' ? '是' : '否' }}</span>
<span v-else slot="content">{{ baseInfo[ele.prop] }}</span>
</item>
</div>
<div v-if="baseInfo.auth_flag==='Y'">
<div slot="name" class="section-title" style="">法人授权信息</div>
<item v-for="(ele, i) of authInfo" :key="ele.title">
......@@ -58,22 +73,30 @@
<button class="success" style=" border: 1px solid #e6b500;background-color: white;color: #e6b500;" @click="signAuth">签署认证</button>
<button class="success" @click="save">保存</button>
</div>
<ActionSheet
v-model="picker_show" :actions="actions" :close-on-click-action="true" :closeable="false"
title="客户性质选择" @select="onSelect" />
</list-item>
</template>
<script>
import { Checkbox, Field } from 'vant'
import { Checkbox, Field, ActionSheet } from 'vant'
import 'vant/lib/checkbox/style'
import 'vant/lib/field/style'
import 'vant/lib/action-sheet/style'
export default {
components: {
Checkbox,
Field,
ActionSheet,
},
props: ['baseInfo'],
data () {
return {
actions: [], // 下拉框
customerType: [], // 客户性质下拉框
picker_show: false,
}
},
computed: {
......@@ -86,6 +109,9 @@ export default {
orgInfo () {
return this.createFormOrg()
},
ctrlInfo () {
return this.createFormCtrl()
},
authInfo () {
return this.createFormAuth()
},
......@@ -93,7 +119,33 @@ export default {
return this.createForm_quality()
},
},
created () {
this.getDropBox()
},
methods: {
onSelect (value) {
let val = value.name
this.$set(this.baseInfo, 'customer_nature_n', val)
let arr = this.customerType.filter(item => item.code_name === val)
this.$set(this.baseInfo, 'customer_nature', arr[0].code)
},
showPicker () {
this.actions = this.customerType.map(item => ({name: item.code_name}))
this.picker_show = true
},
// 下拉框数据获取
async getDropBox () {
let url = process.env.basePath + 'app_get_syscode'
let param = {
'CUSTOMER_NATURE': 'CUSTOMER_NATURE',
}
// hlsPopup.showLoading('请稍候')
let res = await this.$post(url, param)
// this.hlsPopup.hideLoading()
if (res.return_status === 'S') {
this.customerType = res.CUSTOMER_NATURE
}
},
async signAuth () {
let vm = this
// console.log('qianshu renzhneg ', this.baseInfo)
......@@ -126,12 +178,15 @@ export default {
this.baseInfo_B.forEach(item => {
obj[item.prop] = this.baseInfo[item.prop]
})
obj['customer_nature_n'] = this.baseInfo['customer_nature_n']
obj['customer_nature'] = this.baseInfo['customer_nature']
Object.keys(obj).map(key => {
if (obj[key] === undefined || obj[key] === null || obj[key] === '') {
flag = true
}
})
console.log(obj)
if (flag) {
hlsPopup.showLongCenter('请将必填字段填写完整')
return
......@@ -151,7 +206,6 @@ export default {
let param = {
'master': obj,
}
hlsPopup.showLoading('请稍候')
let res = await this.$post(url, param)
this.hlsPopup.hideLoading()
......@@ -199,6 +253,9 @@ export default {
['公司名称', 'bp_name', 'text'],
['企业类型', 'enterprise_type', 'text'],
['注册地址', 'registered_place', 'text'],
['营业期限从', 'business_term_from', 'text'],
['营业期限到', 'business_term_to', 'text'],
['营业期限', 'business_term_type_n', 'text'],
['经营地址', 'business_address', 'text'],
['法定代表人', 'legal_person', 'text'],
['纳税人识别号', 'organization_code', 'text'],
......@@ -215,6 +272,9 @@ export default {
['公司名称', 'bp_name', 'text'],
['企业类型', 'enterprise_type', 'text'],
['注册地址', 'registered_place', 'text'],
['营业期限从', 'business_term_from', 'text'],
['营业期限到', 'business_term_to', 'text'],
['营业期限', 'business_term_type_n', 'text'],
['经营地址', 'business_address', 'text'],
['纳税人识别号', 'organization_code', 'text'],
['注册资本(万元)', 'registered_capital', 'text'],
......@@ -226,14 +286,24 @@ export default {
['logo上传的超链接', 'logo_upload', 'text'],
['是否授权', 'auth_flag', 'checkbox'],
]
let info = []
let bp_type = this.baseInfo.bp_type
if (['TENANT', 'GUTA'].indexOf(bp_type) !== -1) {
return this.factory(baseInfo_A2)
info = baseInfo_A2
} else if (bp_type === 'AGENT') {
return this.factory(baseInfo_A)
info = baseInfo_A
} else {
return this.factory(baseInfo_A3)
info = baseInfo_A3
}
if (this.baseInfo.business_term_type_n !== '长期') {
info.push(
['营业期限从', 'business_term_from', 'date'],
['营业期限到', 'business_term_to', 'date'],
)
} else {
info.push(['营业期限', 'business_term_type_n', 'text'])
}
return this.factory(info)
},
createFormB () {
let baseInfo_B = [// 基本信息补录 经销商
......@@ -258,6 +328,17 @@ export default {
]
return this.factory(orgInfo)
},
createFormCtrl () {
let orgInfo = [// 实际控制人信息
['姓名', 'bp_control_name', 'text'],
['身份证号', 'id_card_no_c', 'text'],
['证件有效期从', 'id_card_date_from_c', 'date'],
['证件有效期到', 'id_card_date_to_c', 'date'],
['手机号', 'cell_phone_c', 'text'],
['联系地址', 'living_address_c', 'text'],
]
return this.factory(orgInfo)
},
createFormAuth () {
let authInfo = [// 法人授权信息
['姓名', 'auth_person_name', 'text'],
......@@ -296,4 +377,7 @@ export default {
padding-left:5px
}
}
/deep/ #contract-details .van-cell{
background-color: white;
}
</style>
......@@ -104,7 +104,6 @@ export default {
historyData: [],
appendixData: [],
isTodo: true,
isEditType: false, // 30节点可编辑合同类型、开票类型
}
},
beforeRouteEnter (to, from, next) {
......@@ -122,7 +121,6 @@ export default {
vm.historyData = []
vm.appendixData = []
vm.isTodo = vm.$route.params.type === 'todo'
vm.isEditType = false // 30节点可编辑合同类型、开票类型
vm.getData()
vm.getHistory()
......@@ -175,18 +173,6 @@ export default {
this.history_Coll = !this.history_Coll
},
approv (action_type) {
if (this.isEditType) {
let flag = false
this.planData.map(item => {
if (!item.repurchase_flag && !item.rent_invoice_type) {
flag = true
}
})
if (flag) {
hlsPopup.showLongCenter('请将必填字段填写完整')
return
}
}
let params = this.$route.params
let param = {
master: {
......
<!-- 附件 -->
<template>
<div style="width: 100%;">
<p class="notice">tips:点击上传目录即可上传,点击文件即可下载或预览。</p>
<div class="table-box">
<table class="att_table">
<tr>
<th>上传目录</th>
<th>附件</th>
<th>备注</th>
</tr>
<tr v-for="(item, index) of appendixData" :key="item.check_id">
<td @click="chooseFile(item.check_id)">{{ item.description }}</td>
<td>
<span v-for="(attach, ai) in item.attachArr" :key="attach.attachId" @click="previewOrDownload(attach)">
{{ attach.fileName + (ai === item.attachArr.length - 1 ? '' : ',') }}
</span>
</td>
<td>{{ item.note }}</td>
</tr>
</table>
</div>
<Tabs v-model="active" color="#02459a">
<Tab title="附件信息">
<p class="notice">tips:点击上传目录即可上传,点击文件即可下载或预览。</p>
<div class="table-box">
<table class="att_table">
<tr>
<th>上传目录</th>
<th>附件</th>
<th>备注</th>
</tr>
<tr v-for="(item, index) of attachFileArr" :key="item.check_id">
<td @click="chooseFile(item.check_id)">{{ item.description }}</td>
<td>
<span v-for="(attach, ai) in item.attachArr" :key="attach.attachId" @click="previewOrDownload(attach)">
{{ attach.fileName + (ai === item.attachArr.length - 1 ? '' : ',') }}
</span>
</td>
<td>{{ item.note }}</td>
</tr>
</table>
</div>
</Tab>
<Tab title="特批附件">
<p class="notice">tips:点击上传目录即可上传,点击文件即可下载或预览。</p>
<div class="table-box">
<table class="att_table">
<tr>
<th>上传目录</th>
<th>附件</th>
<th>备注</th>
</tr>
<tr v-for="(item, index) of spcialArr" :key="item.check_id">
<td @click="chooseFile(item.check_id)">{{ item.description }}</td>
<td>
<span v-for="(attach, ai) in item.attachArr" :key="attach.attachId" @click="previewOrDownload(attach)">
{{ attach.fileName + (ai === item.attachArr.length - 1 ? '' : ',') }}
</span>
</td>
<td>{{ item.note }}</td>
</tr>
</table>
</div>
</Tab>
</Tabs>
</div>
</template>
<script>
import { Tab, Tabs } from 'vant'
import 'vant/lib/tab/style'
import 'vant/lib/tabs/style'
export default {
components: {
Tabs, Tab},
props: ['appendixData'],
data() {
data () {
return {
licenseImg: '',
active: 0, // tab索引值
attachFileArr: [], // 附件信息
spcialArr: [], // 特批附件
}
},
// watch:{
// appendixData(){
// console.log('mounted执行', this.appendixData );
// this.attachFileArr = this.appendixData.filter((item, index) => {
// if (item.cdd_item === 'SPCIAL_REPORT') {
// this.spcialArr.push(item)
// }
// return item.cdd_item !== 'SPCIAL_REPORT'
// })
// },
// active(n,o){
// console.log('xin',n,'jiu',o);
// }
// },
created(){
this.attachFileArr = this.appendixData.filter((item, index) => {
if (item.cdd_item === 'SPCIAL_REPORT') {
this.spcialArr.push(item)
}
return item.cdd_item !== 'SPCIAL_REPORT'
})
},
methods: {
previewOrDownload(attObj) {
getspcialArr () {
return this.spcialArr[0]
},
previewOrDownload (attObj) {
let picUrl = `${process.env.filePath}attachment_id=${attObj.attachId}&access_token=${window.localStorage.access_token}`
if (/.png|.jpg$/.test(attObj.fileName)) {
this.showBigPicture(picUrl)
} else {
console.log(hlsUtil.convertImageUrl(picUrl));
console.log(hlsUtil.convertImageUrl(picUrl))
window.open(hlsUtil.convertImageUrl(picUrl))
}
console.log(attObj);
console.log(attObj)
},
// 上传窗口
chooseFile(check_id) {
chooseFile (check_id) {
let vm = this
hlsPopup.showActionSheet({
titleText: '请选择照片',
......@@ -59,7 +119,7 @@ export default {
},
})
},
openCamera(check_id) {
openCamera (check_id) {
let vm = this
let cameraoptions = {
quality: 60,
......@@ -73,12 +133,12 @@ export default {
vm.licenseImg = hlsUtil.convertImageUrl(imgdata)
let list = [{
pkvalue: check_id,
source_type: "PRJ_CDD_ITEM_CHECK",
source_type: 'PRJ_CDD_ITEM_CHECK',
picture: '',
filePath: imgdata,
attachment_id: '',
user_id: 1,
fileName: ''
fileName: '',
}]
vm.save_file(list)
......@@ -89,7 +149,7 @@ export default {
}
hlsUtil.openCamera(cameraoptions, success, error)
},
takePicture(check_id) {
takePicture (check_id) {
let vm = this
var cameraoptions = {
quality: 70,
......@@ -104,12 +164,12 @@ export default {
vm.licenseImg = hlsUtil.convertImageUrl(imgUrl[0])
let list = [{
pkvalue: check_id,
source_type: "PRJ_CDD_ITEM_CHECK",
source_type: 'PRJ_CDD_ITEM_CHECK',
picture: '',
filePath: imgUrl[0],
attachment_id: '',
user_id: 1,
fileName: ''
fileName: '',
}]
vm.save_file(list)
......@@ -122,9 +182,9 @@ export default {
},
// 图片保存
save_file(list) {
save_file (list) {
let vm = this
let upView = vm.debounce(function () { vm.$emit("upData") }, 1500)
let upView = vm.debounce(function () { vm.$emit('upData') }, 1500)
if (list.length) {
// hlsPopup.showLoading('图片上传请稍候')
var alreadyUploadNum = 0
......@@ -162,24 +222,24 @@ export default {
}
},
// 查看图片
showBigPicture(picUrl) {
showBigPicture (picUrl) {
let vm = this
vm.hlsPopup.showBigPicture({ imgUrl: picUrl, width: '100%', })
vm.hlsPopup.showBigPicture({ imgUrl: picUrl, width: '100%' })
},
debounce(func, wait) {
let timer;
debounce (func, wait) {
let timer
return function () {
let context = this; // 注意 this 指向
let args = arguments; // arguments中存着e
let context = this // 注意 this 指向
let args = arguments // arguments中存着e
if (timer) clearTimeout(timer);
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
func.apply(this, args)
}, wait)
}
}
}
},
},
}
</script>
......@@ -221,4 +281,4 @@ export default {
}
}
</style>
\ No newline at end of file
</style>
......@@ -55,6 +55,7 @@ export default {
['工程合同', 'engineer_con_n', 'text'],
['农行代扣', 'abc_deduction_flag', 'bool'],
['是否授权', 'auth_flag', 'bool'],
['管家卡', 'bank_card_number', 'text'],
['合同补充条款', 'contract_supplementary_file', 'text'],
]
......@@ -76,6 +77,7 @@ export default {
['配偶联系地址', 'address_sp', 'text'],
['农行代扣', 'abc_deduction_flag', 'bool'],
['是否抵押', 'mortgega_flag', 'bool'],
['管家卡', 'bank_card_number', 'text'],
['合同补充条款', 'contract_supplementary_file', 'text'],
]
let nowForm = this.lesseeData.bp_class === 'NP' ? personalFormArr : corporationFormArr
......
......@@ -10,14 +10,14 @@
<h-content style="overflow-y: auto;">
<!-- 审批历史 -->
<div class="history" :class="[history_Coll ? 'history_active' : '']" @click="triggerHistory">
<History :isOpen="history_Coll" :historyData="historyData"></History>
<div :class="[history_Coll ? 'history_active' : '']" class="history" @click="triggerHistory">
<History :isOpen="history_Coll" :historyData="historyData"/>
</div>
<!-- 销售信息折叠 -->
<Collapse v-model="collActiveTab">
<CollapseItem title="销售信息" name="1">
<Sale :lesseeData="lesseeData"></Sale>
<Sale :lesseeData="lesseeData"/>
</CollapseItem>
</Collapse>
......@@ -38,21 +38,21 @@
</div>
<div v-if="tabNum === 1" class="z100">
<Lessee :lesseeData="lesseeData"></Lessee>
<Lessee :lesseeData="lesseeData"/>
</div>
<div v-if="tabNum === 2" class="z100">
<Plan :planData="planData" :editFlag="isEditType" :showFlag="isShowType"></Plan>
<div v-show="tabNum === 2" class="z100">
<Plan ref="myform_30" :planData="planData" :editFlag="isEditType" :showFlag="isShowType"/>
</div>
<div v-if="tabNum === 3" class="z100">
<Partner :bplist="bplist"></Partner>
<Partner :bplist="bplist"/>
</div>
<div v-if="tabNum === 4" class="z100">
<Appendix :appendixData="appendixData" @upData="getData"></Appendix>
<Appendix ref="myappendix" :appendixData="appendixData" @upData="getData"/>
<div v-show="isTodo" class="approveBottom">
<span> 审批意见 </span>
<textarea v-model="confirm_note" cols="8" rows="5" placeholder="请输入" />
</div>
<div class="foot-bottom" v-show="isTodo">
<div v-show="isTodo" class="foot-bottom">
<button class="success" @click="approv('1')">通 过</button>
<button class="refused" @click="approv('2')">拒 绝</button>
</div>
......@@ -62,9 +62,9 @@
</template>
<script>
import { Collapse, CollapseItem } from 'vant';
import 'vant/lib/collapse/style';
import 'vant/lib/collapse-item/style';
import { Collapse, CollapseItem } from 'vant'
import 'vant/lib/collapse/style'
import 'vant/lib/collapse-item/style'
import Plan from './components/plan.vue'
import Sale from './components/Sale.vue'
import Partner from './components/Partner.vue'
......@@ -82,16 +82,16 @@ export default {
Partner,
Appendix,
Lessee,
History
History,
},
data() {
data () {
return {
tabNum: 1,
collActiveTab: ['2'],
history_Coll: false,
confirm_note: '',
bplist: [], //商业伙伴信息
lesseeData: {}, //承租人, 销售信息
bplist: [], // 商业伙伴信息
lesseeData: {}, // 承租人, 销售信息
planData: [], // 商务方案
historyData: [],
appendixData: [],
......@@ -100,12 +100,12 @@ export default {
isShowType: false, // 75节点可见合同类型、开票类型
}
},
beforeRouteEnter(to, from, next) {
beforeRouteEnter (to, from, next) {
next(vm => {
})
},
mounted() {
mounted () {
console.log(this.$route.params)
this.isEditType = this.$route.params.node_sequence_num === '30'
this.isShowType = this.$route.params.node_sequence_num === '75'
......@@ -114,7 +114,7 @@ export default {
this.getData()
},
methods: {
getData() {
getData () {
let project_id = this.$route.params.document_id
this.hlsPopup.showLoading('请稍候')
let url = $config.basePath + 'prj_project_info_query'
......@@ -139,28 +139,31 @@ export default {
hlsPopup.showLongCenter('获取工作流信息失败')
setTimeout(() => {
this.$router.back()
}, 2000);
}, 2000)
}
})
},
getHistory() {
getHistory () {
this.historyData = this.$route.params.approve_history_lists.reverse()
},
triggerHistory() {
triggerHistory () {
this.history_Coll = !this.history_Coll
},
approv(action_type) {
if (this.isEditType) {
let flag = false
this.planData.map(item => {
if (!item.repurchase_flag && !item.rent_invoice_type) {
flag = true
}
})
if (flag) {
hlsPopup.showLongCenter('请将必填字段填写完整')
async approv (action_type) {
if (this.isEditType) { // 30节点编辑后的校验
let isSave = window.localStorage.getItem('myform_30_isSave')
let flag = await this.$refs.myform_30.validate()
if (!flag || isSave === 'false') {
hlsPopup.showLongCenter('请将商务方案中的必填项填写完整并保存')
return
}
if (this.$refs.myform_30.getData() === 'Y') {
let temp = this.$refs.myappendix.getspcialArr()
if (temp.attachArr.length < 1) {
hlsPopup.showLongCenter('请上传特批报告')
return
}
}
}
let params = this.$route.params
let param = {
......@@ -171,18 +174,19 @@ export default {
comment_text: this.confirm_note,
},
}
console.log(process.env.basePath);
let url = process.env.basePath + (action_type === '1' ? 'action_agree' : 'action_refuse')
console.log(url);
console.log(process.env.basePath)
let url = process.env.basePath + (action_type === '1' ? 'action_agree' : 'action_refuse')
console.log(url)
this.hlsPopup.showLoading('请稍候')
this.hlsHttp.post(url, param).then((res) => {
this.hlsPopup.hideLoading()
this.hlsPopup.showLongCenter(res.message)
if (res.result === 'S') {
window.localStorage.removeItem('myform_30_isSave')
setTimeout(() => {
this.$router.back()
}, 2000);
}, 2000)
}
})
},
......@@ -225,7 +229,6 @@ export default {
}
}
.tab-style {
display: flex;
justify-content: center;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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