119 lines
3.6 KiB
Vue
119 lines
3.6 KiB
Vue
<template>
|
|
<el-dialog @confirm="handleSubmit" title="合同详情" v-model="show">
|
|
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
|
<el-form-item label="合同类型" prop="contract_type">
|
|
<el-input
|
|
v-model="formData.contract_type_name"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="请输入合同类型"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="合同编号" prop="contract_no">
|
|
<el-input
|
|
v-model="formData.contract_no"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无合同编号"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="甲方" prop="party_a">
|
|
<el-input
|
|
v-model="formData.party_a_name"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无甲方"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="乙方" prop="party_b">
|
|
<el-input
|
|
v-model="formData.party_b_name"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无乙方"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="片区经理" prop="area_manager_name">
|
|
<el-input
|
|
v-model="formData.area_manager"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无经理"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="类型" prop="type">
|
|
<el-input
|
|
v-model="formData.type_name"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无状态"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="状态" prop="status">
|
|
<el-input
|
|
v-model="formData.status_name"
|
|
:disabled="true"
|
|
clearable
|
|
placeholder="暂无状态"
|
|
/>
|
|
</el-form-item>
|
|
<el-form-item label="合同地址" v-if="formData.status == 1">
|
|
<el-link type="success" :href="formData.url" target="_blank">在线查看</el-link>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div class="btn_men">
|
|
<el-button @click="show = false">取消</el-button>
|
|
<el-button type="primary" @click="show = false">确定</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref, reactive, defineExpose } from 'vue'
|
|
const formData = reactive({
|
|
id: '',
|
|
company_id: '',
|
|
contract_type: '',
|
|
contract_type_name: '',
|
|
contract_no: '',
|
|
file: '',
|
|
status: '',
|
|
party_a: '',
|
|
party_a_name: '',
|
|
party_b: '',
|
|
party_b_name: '',
|
|
area_manager: '',
|
|
area_manager_name: '',
|
|
type_name: '',
|
|
url: '',
|
|
status_name: ''
|
|
})
|
|
const show = ref(false)
|
|
const shoeEditFn = (flag) => {
|
|
show.value = flag
|
|
}
|
|
// 传值赋值
|
|
const setFormData = async (data) => {
|
|
for (const key in formData) {
|
|
if (data[key] != null && data[key] != undefined) {
|
|
//@ts-ignore
|
|
formData[key] = data[key]
|
|
if (key == 'type') {
|
|
formData.type = data.type == 1 ? '公司' : '个人'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
defineExpose({
|
|
shoeEditFn,
|
|
setFormData
|
|
})
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.btn_men {
|
|
text-align: right;
|
|
}
|
|
</style>
|