8.7修改

This commit is contained in:
jiangyouyi 2023-08-07 17:06:54 +08:00
parent a38fb97fa5
commit 719f5fb0ca
2 changed files with 83 additions and 134 deletions

View File

@ -1,7 +1,7 @@
<template>
<el-card class="box-card">
<template #header>
<span>公司基本信息</span>
<span>甲方基本信息</span>
</template>
<el-form
:inline="true"
@ -22,59 +22,29 @@
/>
</el-form-item>
<el-form-item label="公司类型" prop="compeny">
<el-select disabled v-model="compeny.company_type" placeholder="请输入公司类型">
<el-option
v-for="(item, index) in datas.dictTypeLists"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
<el-select disabled v-model="compeny.company_type_name" placeholder="请输入公司类型">
</el-select>
</el-form-item>
<el-form-item label="省" prop="province">
<el-select disabled v-model="compeny.province" placeholder="请选择省">
<el-option
v-for="(item, index) in datas.provinceOptions"
:key="index"
:label="item.province_name"
:value="+item.province_code"
></el-option>
<el-select disabled v-model="compeny.province_name" placeholder="请选择省">
</el-select>
</el-form-item>
<el-form-item label="市" prop="city">
<el-select disabled v-model="compeny.city" placeholder="请选择市">
<el-option
v-for="(item, index) in datas.cityOptions"
:key="index"
:label="item.city_name"
:value="+item.city_code"
></el-option>
<el-select disabled v-model="compeny.city_name" placeholder="请选择市">
</el-select>
</el-form-item>
<el-form-item label="区" prop="area">
<el-select disabled v-model="compeny.area" placeholder="请选择区">
<el-option
v-for="(item, index) in datas.areaOptions"
:key="index"
:label="item.area_name"
:value="+item.area_code"
></el-option>
<el-select disabled v-model="compeny.area_name" placeholder="请选择区">
</el-select>
</el-form-item>
<el-form-item label="镇" prop="company_type_name">
<el-select disabled v-model="compeny.street" placeholder="请选择镇">
<el-option
v-for="(item, index) in datas.streetOptions"
:key="index"
:label="item.street_name"
:value="+item.street_code"
></el-option>
<el-select disabled v-model="compeny.street_name" placeholder="请选择镇">
</el-select>
</el-form-item>
<el-form-item label="地址" prop="address">
<el-input
disabled
v-model="compeny.address"
v-model="compeny.address_name"
placeholder="请输入公司地址"
:style="{ width: '31.5rem' }"
/>
@ -83,7 +53,7 @@
</el-card>
<el-card>
<template #header>
<span>公司资质信息</span>
<span>甲方资质信息</span>
</template>
<el-form
:inline="true"
@ -91,24 +61,28 @@
:model="compeny"
label-width="90px"
:rules="formRules"
class="company_z"
>
<el-form-item label="公司资质" prop="contract_type" required>
<div class="company">
<img :src="compenyimg.bank_account" />
<img :src="compenyimg.bank_accountB" />
<img :src="compenyimg.business_license" />
</div>
</el-form-item>
<el-form-item label="其他资质" prop="contract_no" required>
<el-form-item label-width="120px" label="开户许可证" prop="contract_no" required>
<div class="company">
<img :src="compenyimg.business_license" />
<img :src="compenyimg.business_licenseB" />
</div>
</el-form-item>
<el-form-item label="其他资质" prop="contract_no" >
<div class="company">
<img :src="compenyimg.bank_account" />
</div>
</el-form-item>
</el-form>
</el-card>
<el-card v-if="show">
<template #header>
<span>单位基本信息</span>
<span>乙方基本信息</span>
</template>
<el-form
:inline="true"
@ -119,44 +93,37 @@
class="select"
>
<el-form-item label="公司名称" prop="company_name" required>
<el-input v-model="compenyB.company_name" placeholder="请输入公司名称" />
<el-input disabled v-model="compenyB.company_name" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="社会代码" prop="organization_code" required>
<el-input v-model="compenyB.organization_code" placeholder="请输入社会代码" />
<el-input disabled v-model="compenyB.organization_code" placeholder="请输入社会代码" />
</el-form-item>
<el-form-item label="公司类型" prop="company_type">
<el-select v-model="compenyB.company_type" placeholder="请输入社会类型">
<el-select disabled v-model="compenyB.company_type_name" placeholder="请输入社会类型">
<el-option></el-option>
</el-select>
</el-form-item>
<el-form-item label="省" prop="province">
<el-select v-model="compenyB.province" placeholder="请选择省">
<el-option
v-for="(item, index) in datas.provinceOptions"
:key="index"
:label="item.province_name"
:value="+item.province_code"
></el-option>
<el-select disabled v-model="compenyB.province_name" placeholder="请选择省">
</el-select>
</el-form-item>
<el-form-item label="市" prop="city">
<el-select v-model="compenyB.city" placeholder="请选择市">
<el-option></el-option>
<el-select disabled v-model="compenyB.city_name" placeholder="请选择市">
</el-select>
</el-form-item>
<el-form-item label="区" prop="area">
<el-select v-model="compenyB.area" placeholder="请选择区">
<el-option></el-option>
<el-select disabled v-model="compenyB.area_name" placeholder="请选择区">
</el-select>
</el-form-item>
<el-form-item label="镇" prop="street">
<el-select v-model="compenyB.street" placeholder="请选择镇">
<el-select disabled v-model="compenyB.street_name" placeholder="请选择镇">
<el-option></el-option>
</el-select>
</el-form-item>
<el-form-item label="地址" prop="street">
<el-input
v-model="compenyB.street"
disabled
v-model="compenyB.address"
placeholder="请输入公司地址"
:style="{ width: '31.5rem' }"
/>
@ -165,7 +132,7 @@
</el-card>
<el-card v-if="show">
<template #header>
<span>单位资质信息</span>
<span>乙方资质信息</span>
</template>
<el-form
:inline="true"
@ -176,14 +143,14 @@
>
<el-form-item label="公司资质" prop="contract_type" required>
<div class="company">
<img :src="compenyimg.bank_account" />
<img :src="compenyimg.bank_accountB" />
<img :src="compenyimg.business_license" />
<img :src="compenyimg.business_licenseB" />
</div>
</el-form-item>
<el-form-item label="其他资质" prop="contract_no" required>
<div class="company">
<img :src="compenyimg.business_license" />
<img :src="compenyimg.business_licenseB" />
<img :src="compenyimg.bank_account" />
<img :src="compenyimg.bank_account" />
</div>
</el-form-item>
</el-form>
@ -200,46 +167,39 @@
:model="persen"
label-width="90px"
:rules="formRules"
class="select"
class="person_select"
>
<el-form-item label="姓名">
<el-input v-model="persen.nickname" placeholder="请输入姓名" />
<el-input disabled v-model="persen.nickname" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="性别">
<el-input v-model="persen.sex" placeholder="请输入性别" />
<el-input disabled v-model="persen.sex" placeholder="请输入性别" />
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="persen.mobile" placeholder="请输入联系电话" />
<el-input disabled v-model="persen.mobile" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="身份证号">
<el-input
v-model="persen.id"
placeholder="请输入身份证号"
:style="{ width: '22rem' }"
disabled
/>
</el-form-item>
<el-form-item label="省" prop="province">
<el-select v-model="persen.province" placeholder="请选择省">
<el-option
v-for="(item, index) in datas.provinceOptions"
:key="index"
:label="item.province_name"
:value="+item.province_code"
></el-option>
<el-select disabled v-model="persen.province_name" placeholder="请选择省">
</el-select>
</el-form-item>
<el-form-item label="市" prop="city">
<el-select v-model="persen.city" placeholder="请选择市">
<el-option></el-option>
<el-select disabled v-model="persen.city_name" placeholder="请选择市">
</el-select>
</el-form-item>
<el-form-item label="区" prop="area">
<el-select v-model="persen.area" placeholder="请选择区">
<el-select disabled v-model="persen.area_name" placeholder="请选择区">
<el-option></el-option>
</el-select>
</el-form-item>
<el-form-item label="镇" prop="street">
<el-select v-model="persen.street" placeholder="请选择镇">
<el-select disabled v-model="persen.street_name" placeholder="请选择镇">
<el-option></el-option>
</el-select>
</el-form-item>
@ -251,11 +211,11 @@
<span>个人资质信息</span>
</template>
<el-form class="idcard" :model="persenimg" :inline="true">
<el-form-item label="身份证">
<el-form-item label="身份证">
<img :src="persenimg.id_card" />
<img :src="persenimg.id_card_b" />
</el-form-item>
<el-form-item label="行驶证">
<el-form-item label="行驶证">
<img :src="persenimg.car_card" />
<img :src="persenimg.car_card_b" />
</el-form-item>
@ -279,32 +239,32 @@
>
<el-form-item label="签约方" prop="contract_type">
<el-input
v-model="formData.party_b_name"
v-model="compeny.company_name"
:disabled="true"
placeholder="暂无签约方"
/>
</el-form-item>
<el-form-item label="被签约公司" prop="contract_no">
<el-input
v-model="formData.party_b_name"
v-model="compenyB.company_name"
:disabled="true"
placeholder="暂无签约方"
/>
</el-form-item>
<el-form-item label="合同类型" prop="contract_no">
<el-input
v-model="formData.party_b_name"
v-model="basicdata.contract_type_name"
:disabled="true"
placeholder="暂无签约方"
/>
</el-form-item>
<el-form-item label="合同编号" prop="contract_no">
<!-- <el-form-item label="合同编号" prop="contract_no">
<el-input
v-model="formData.party_b_name"
:disabled="true"
placeholder="暂无签约方"
/>
</el-form-item>
</el-form-item> -->
</el-form>
</el-card>
<el-card>
@ -329,12 +289,11 @@
<script lang="ts" setup>
import type { FormInstance, UploadProps, ElMessage, UploadUserFile } from 'element-plus'
import { apiContractDetail } from '@/api/contract'
import { ref, reactive, defineExpose } from 'vue'
import { ref, reactive, defineExpose ,computed} from 'vue'
import { useRoute } from 'vue-router'
import { dictDataLists } from '@/api/setting/dict'
import { upContact } from '@/api/consumer'
const { query } = useRoute()
import { apiCityList, apiAreaList, apiStreetList, apiProvinceList } from '@/api/common'
import useUserStore from '@/stores/modules/user'
const formData = reactive({
@ -355,16 +314,8 @@ const formData = reactive({
url: '',
status_name: ''
})
const datas = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
streetOptions: [],
dictTypeLists: [],
contract_type: []
})
const fileList = ref<UploadUserFile[]>([])
const basicdata=ref({})
const compeny = ref({})
const compenyimg = ref([])
const compenyB = ref([])
@ -379,13 +330,20 @@ const userStore = useUserStore()
async function render() {
//
const res = await apiContractDetail({ id: query.id })
compeny.value = res.party_a_info
compeny.value = res.party_a_info;
basicdata.value=res
try {
    res.party_a_info.qualification.bank_account=JSON.parse(res.party_a_info.qualification.bank_account)
compenyimg.value = res.party_a_info.qualification
  } catch (error) {}
compenyimg.value = res.party_a_info.qualification
if (res.type == 2) {
persen.value = res.party_b_info
persenimg.value = res.party_b_info.qualification
show.value = false
} else if (res.type == 1) {
res.party_b_info.sex==1?res.party_b_info.sex="男":res.party_b_info.sex="女"
persen.value = res.party_b_info
persenimg.value = res.party_b_info.qualification
}
if (res.type == 1) {
compenyB.value = res.party_b_info
compenyBimg.value = res.party_b_info.qualification
flag.value = false
@ -398,35 +356,10 @@ const handleAvatarSuccess_four: UploadProps['onSuccess'] = (response, uploadFile
return
}
formData.file = response.data.uri
upContact({ file: formData.file, id: route.query.id })
}
const getProvinceList = async () => {
const data = await apiProvinceList({})
datas['provinceOptions'] = data
}
const getCityList = async () => {
const data = await apiCityList({ city: compeny.value.province })
datas['cityOptions'] = data
}
const getAreaList = async () => {
const data = await apiAreaList({ area: compeny.value.city })
datas['areaOptions'] = data
}
const getStreetList = async () => {
const data = await apiStreetList({ street: compeny.value.area })
datas['streetOptions'] = data
}
const getdictTypeLists = async () => {
const data = await dictDataLists({ type_id: 6 })
datas['dictTypeLists'] = data['lists']
upContact({ file: formData.file, id: route.query.id })
}
onMounted(async () => {
await render()
await getProvinceList()
await getCityList()
await getAreaList()
await getStreetList()
await getdictTypeLists()
})
</script>
@ -436,8 +369,9 @@ onMounted(async () => {
}
.frame {
.el-form-item {
width: 40%;
.el-input {
width: 43rem;
width: 100%;
}
}
}
@ -448,12 +382,20 @@ onMounted(async () => {
}
}
}
.person_select{
.el-form-item {
width: 30%;
.el-select {
width: 100%;
}
}
}
.company {
display: flex;
justify-content: space-between;
img {
width: 20rem;
height: 10rem;
width: 10rem;
height: 8rem;
}
}
.persenal {
@ -466,8 +408,16 @@ onMounted(async () => {
}
.idcard {
img {
width: 12rem;
width: 10rem;
height: 10rem;
}
}
.company_z{
.el-form-item{
width: 40%;
}
}
.el-card{
margin-top: 1px;
}
</style>

View File

@ -102,9 +102,8 @@
v-perms="['contract.contract/delete']"
type="primary"
link
@click="showDetil(row.id)"
>
<router-link :to="{path:'/contract/detail',query: {id: row.id}}">详情</router-link>
<router-link :to="{path:'/contract/detail', query: {id: row.id}}">详情</router-link>
</el-button>
<!-- <el-button v-perms="['contract.contract/delete']" type="danger" link