1
This commit is contained in:
parent
913268819e
commit
7a73f4e1fc
@ -294,6 +294,8 @@ const datas = reactive({
|
||||
const customEvent = (e) => {
|
||||
formData.contract_id = e.id;
|
||||
formData.contract_name = e.contract_name;
|
||||
formData.project_name = e.contract_name;
|
||||
formData.depar = e.supervise_dept;
|
||||
formData.industry = e.industry_nature
|
||||
formData.starting = e.start_date
|
||||
formData.endtime = e.end_date
|
||||
@ -304,7 +306,10 @@ const customEvent = (e) => {
|
||||
formData.aunit_name = e.part_a_name
|
||||
formData.aunit = e.part_a
|
||||
formData.generalize = e.project_scale
|
||||
// formData.Acontact = e.part_a_contract
|
||||
formData.jhgq = e.jhgq
|
||||
formData.address = e.part_a_address
|
||||
formData.Acontact = e.part_a_acontact
|
||||
formData.acontactnum = e.telephone
|
||||
showDialog.value = false;
|
||||
};
|
||||
|
||||
|
@ -20,39 +20,39 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同名称" prop="contract_name">
|
||||
<el-input v-model="formData.contract_name" clearable placeholder="请输入合同名称" />
|
||||
<el-input v-model="formData.contract_name" clearable placeholder="请输入合同名称"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同编号" prop="contract_code">
|
||||
<el-input v-model="formData.contract_code" clearable placeholder="请输入合同编号" v-type="'code'" />
|
||||
<el-input v-model="formData.contract_code" clearable placeholder="请输入合同编号" v-type="'code'"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="甲方签约单位" prop="part_a">
|
||||
<el-input v-model="formData.part_a_name" clearable placeholder="请输入甲方签约单位" readonly
|
||||
@click="showDialog2 = true" />
|
||||
@click="showDialog2 = true"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系人">
|
||||
<el-input v-model="formData.part_a_contact" clearable placeholder="请输入联系人" />
|
||||
<el-input v-model="formData.part_a_contact" clearable placeholder="请输入联系人"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="业主地址">
|
||||
<el-input v-model="formData.part_a_address" clearable placeholder="请输入业主地址" />
|
||||
<el-input v-model="formData.part_a_address" clearable placeholder="请输入业主地址"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="乙方签约单位" prop="part_b">
|
||||
<el-input v-model="formData.part_b" clearable placeholder="请输入乙方签约单位" />
|
||||
<el-input v-model="formData.part_b" clearable placeholder="请输入乙方签约单位"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="乙方签约人">
|
||||
<el-input v-model="formData.part_b_signatory_name" clearable placeholder="点击选择"
|
||||
@click="userclick('part_b_signatory')" />
|
||||
@click="userclick('part_b_signatory')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -83,6 +83,24 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="所在省份" prop="province">
|
||||
<el-select v-model="formData.province" clearable placeholder="请选择省"
|
||||
@change="province_change" class="flex-1">
|
||||
<el-option v-for="(item, index) in datas.provinceOptions" :key="index"
|
||||
:label="item.province_name" :value="(item.province_code)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="所在市区" prop="city">
|
||||
<el-select v-model="formData.city" clearable placeholder="请选择市" class="flex-1">
|
||||
<el-option v-for="(item, index) in datas.cityOptions" :key="index"
|
||||
:label="item.city_name" :value="(item.city_code)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="建设区域" prop="const_area">
|
||||
<el-select class="flex-1" v-model="formData.const_area">
|
||||
@ -98,27 +116,27 @@
|
||||
</el-col> -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程总投资">
|
||||
<el-input v-model="formData.project_money" clearable placeholder="请输入工程总投资" type="number" />
|
||||
<el-input v-model="formData.project_money" clearable placeholder="请输入工程总投资" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程规模及概况">
|
||||
<el-input v-model="formData.project_scale" clearable placeholder="请输入工程规模及概况" />
|
||||
<el-input v-model="formData.project_scale" clearable placeholder="请输入工程规模及概况"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="签订金额" prop="signed_amount">
|
||||
<el-input v-model="formData.signed_amount" clearable placeholder="请输入签订金额" type="number" />
|
||||
<el-input v-model="formData.signed_amount" clearable placeholder="请输入签订金额" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同签订费率">
|
||||
<el-input v-model="formData.signed_rate" clearable placeholder="请输入合同签订费率" type="number" />
|
||||
<el-input v-model="formData.signed_rate" clearable placeholder="请输入合同签订费率" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同服务工期">
|
||||
<el-input v-model="formData.service_duration" clearable placeholder="请输入合同服务工期" />
|
||||
<el-input v-model="formData.service_duration" clearable placeholder="请输入合同服务工期"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -137,7 +155,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="履约金">
|
||||
<el-input v-model="formData.performance_money" clearable placeholder="请输入履约金" type="number" />
|
||||
<el-input v-model="formData.performance_money" clearable placeholder="请输入履约金" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -149,15 +167,22 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同付款方式">
|
||||
<el-input v-model="formData.payment_method" clearable placeholder="请输入合同付款方式" />
|
||||
<el-input v-model="formData.payment_method" clearable placeholder="请输入合同付款方式"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="合同主要内容">
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入合同主要内容" />
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入合同主要内容"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目规模及概括" prop="generalize" label-width="120px">
|
||||
<!-- <el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" disabled
|
||||
type="textarea" /> -->
|
||||
<el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括"
|
||||
type="textarea"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="签订部门" prop="signed_dept">
|
||||
<el-select v-model="formData.signed_dept" placeholder="请选择部门" class="flex-1">
|
||||
@ -169,7 +194,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="签订负责人" prop="signed_head_name">
|
||||
<el-input v-model="formData.signed_head_name" clearable placeholder="点击选择"
|
||||
@click="userclick('signed_head')" />
|
||||
@click="userclick('signed_head')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -183,7 +208,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目总监/经理">
|
||||
<el-input v-model="formData.project_manager_name" clearable placeholder="点击选择"
|
||||
@click="userclick('project_manager')" />
|
||||
@click="userclick('project_manager')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -212,7 +237,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8" v-if="formData.is_limit">
|
||||
<el-form-item label="限制次数">
|
||||
<el-input v-model="formData.limit_num" clearable placeholder="请输入限制次数" type="number" />
|
||||
<el-input v-model="formData.limit_num" clearable placeholder="请输入限制次数" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -225,13 +250,13 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="盖章份数">
|
||||
<el-input v-model="formData.seal_num" clearable placeholder="请输入盖章份数" type="number" />
|
||||
<el-input v-model="formData.seal_num" clearable placeholder="请输入盖章份数" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="盖章人">
|
||||
<el-input v-model="formData.seal_user_name" clearable placeholder="点击选择"
|
||||
@click="userclick('seal_user')" />
|
||||
@click="userclick('seal_user')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -251,7 +276,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮寄编号">
|
||||
<el-input v-model="formData.mailing_number" clearable placeholder="请输入邮寄编号" type="number" />
|
||||
<el-input v-model="formData.mailing_number" clearable placeholder="请输入邮寄编号" type="number"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
@ -281,7 +306,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<upload-annex :form-data="formData" />
|
||||
<upload-annex :form-data="formData"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -295,28 +320,29 @@
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="showDialog2" title="选择甲方签订单位" width="70%">
|
||||
<dialogTable :config="marketing_custom" @customEvent="customEvent1"> </dialogTable>
|
||||
<dialogTable :config="marketing_custom" @customEvent="customEvent1"></dialogTable>
|
||||
</el-dialog>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="marketingContractEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import type {FormInstance} from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import {
|
||||
apiMarketingContractAdd,
|
||||
apiMarketingContractEdit,
|
||||
apiMarketingContractDetail
|
||||
} from '@/api/marketing_contract'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import {timeFormat} from '@/utils/util'
|
||||
import type {PropType} from 'vue'
|
||||
import {
|
||||
marketing_framework_agreement,
|
||||
marketing_custom
|
||||
} from '@/components/dialogTable/dialogTableConfig'
|
||||
import { useRoute } from "vue-router"
|
||||
import { apimketingFrameworkAgreementDetail } from '@/api/marketing_framework_agreement'
|
||||
import {useRoute} from "vue-router"
|
||||
import {apimketingFrameworkAgreementDetail} from '@/api/marketing_framework_agreement'
|
||||
import {apiCityList, apiProvinceList} from "@/api/common";
|
||||
|
||||
const route = useRoute()
|
||||
defineProps({
|
||||
@ -392,12 +418,16 @@ const formData = reactive({
|
||||
review_status: '',
|
||||
status: '',
|
||||
create_user: '',
|
||||
submitting_department: ''
|
||||
submitting_department: '',
|
||||
generalize: '',
|
||||
province:'',
|
||||
city:''
|
||||
})
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.related_contract_id = e.id
|
||||
formData.framework_agreement_name = e.contract_name
|
||||
formData.contract_name = e.contract_name
|
||||
formData.part_a_name = e.part_a_name
|
||||
formData.part_a = e.part_a
|
||||
formData.part_a_address = e.part_a_address
|
||||
@ -768,6 +798,12 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
if(key=='related_contract_id'){
|
||||
formData.related_contract_id = data['related_contract_id']
|
||||
}
|
||||
if(key=='framework_agreement_name'){
|
||||
formData.framework_agreement_name = data['framework_agreement_name']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -781,14 +817,31 @@ const getDetail = async (row: Record<string, any>) => {
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData }
|
||||
const data = {...formData}
|
||||
mode.value == 'edit'
|
||||
? await apiMarketingContractEdit(data)
|
||||
: await apiMarketingContractAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
});
|
||||
const getProvinceList = async () => {
|
||||
const data = await apiProvinceList({});
|
||||
datas["provinceOptions"] = data;
|
||||
};
|
||||
const getCityList = async () => {
|
||||
const data = await apiCityList({ province_code: formData.province });
|
||||
datas["cityOptions"] = data;
|
||||
};
|
||||
|
||||
//获取省份
|
||||
function province_change(value: string) {
|
||||
getCityList();
|
||||
}
|
||||
getProvinceList()
|
||||
//打开弹窗
|
||||
const open = (type = 'add') => {
|
||||
mode.value = type
|
||||
@ -800,7 +853,7 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
if (route.query.marketing_framework_agreement_id) {
|
||||
apimketingFrameworkAgreementDetail({ id: route.query.marketing_framework_agreement_id }).then(res => {
|
||||
apimketingFrameworkAgreementDetail({id: route.query.marketing_framework_agreement_id}).then(res => {
|
||||
customEvent(res)
|
||||
formData.contract_type = 0
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user