add
This commit is contained in:
parent
9104dea60b
commit
b626123ee1
File diff suppressed because it is too large
Load Diff
@ -107,7 +107,8 @@
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
||||
:deptList="deptList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -117,6 +118,7 @@ import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiMarketingContractLists, apiMarketingContractDelete } from '@/api/marketing_contract'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import { deptLists } from "@/api/org/department"
|
||||
import EditPopup from './edit.vue'
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
@ -146,7 +148,7 @@ const handleSelectionChange = (val: any[]) => {
|
||||
}
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('')
|
||||
const { dictData } = useDictData('cost_consultation_business_nature,cost_consultation_industry_nature,money_source,const_area,cost_consultation_way,cost_consultation_seal_name,cost_consultation_file_type,isqfgz')
|
||||
|
||||
// 分页相关
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
@ -176,6 +178,13 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
let res = await deptLists()
|
||||
deptList.value = res.lists
|
||||
}
|
||||
|
||||
getLists()
|
||||
getDeptList()
|
||||
|
||||
</script>
|
||||
|
@ -1,137 +1,170 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="关联主合同id" prop="related_contract_id">
|
||||
<el-input v-model="formData.related_contract_id" clearable placeholder="请输入关联主合同id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同类型 0-主合同 1-框架协议 2-补充协议" prop="contract_type">
|
||||
<el-input v-model="formData.contract_type" clearable placeholder="请输入合同类型 0-主合同 1-框架协议 2-补充协议" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同名称" prop="contract_name">
|
||||
<el-input v-model="formData.contract_name" clearable placeholder="请输入合同名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同编号" prop="contract_code">
|
||||
<el-input v-model="formData.contract_code" clearable placeholder="请输入合同编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="甲方签约单位" prop="part_a">
|
||||
<el-input v-model="formData.part_a" clearable placeholder="请输入甲方签约单位" />
|
||||
</el-form-item>
|
||||
<el-form-item label="联系人" prop="part_a_contact">
|
||||
<el-input v-model="formData.part_a_contact" clearable placeholder="请输入联系人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="业主地址" prop="part_a_address">
|
||||
<el-input v-model="formData.part_a_address" clearable placeholder="请输入业主地址" />
|
||||
</el-form-item>
|
||||
<el-form-item label="乙方签约单位" prop="part_b">
|
||||
<el-input v-model="formData.part_b" clearable placeholder="请输入乙方签约单位" />
|
||||
</el-form-item>
|
||||
<el-form-item label="乙方签约人" prop="part_b_signatory">
|
||||
<el-input v-model="formData.part_b_signatory" clearable placeholder="请输入乙方签约人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="业务性质" prop="business_nature">
|
||||
<el-input v-model="formData.business_nature" clearable placeholder="请输入业务性质" />
|
||||
</el-form-item>
|
||||
<el-form-item label="行业性质" prop="industry_nature">
|
||||
<el-input v-model="formData.industry_nature" clearable placeholder="请输入行业性质" />
|
||||
</el-form-item>
|
||||
<el-form-item label="资金来源" prop="fund_sources">
|
||||
<el-input v-model="formData.fund_sources" clearable placeholder="请输入资金来源" />
|
||||
</el-form-item>
|
||||
<el-form-item label="建设区域" prop="const_area">
|
||||
<el-input v-model="formData.const_area" clearable placeholder="请输入建设区域" />
|
||||
</el-form-item>
|
||||
<el-form-item label="协议性质" prop="agreement_nature">
|
||||
<el-input v-model="formData.agreement_nature" clearable placeholder="请输入协议性质" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工程总投资" prop="project_money">
|
||||
<el-input v-model="formData.project_money" clearable placeholder="请输入工程总投资" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工程规模及概况" prop="project_scale">
|
||||
<el-input v-model="formData.project_scale" clearable placeholder="请输入工程规模及概况" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签订金额" prop="signed_amount">
|
||||
<el-input v-model="formData.signed_amount" clearable placeholder="请输入签订金额" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同签订费率" prop="signed_rate">
|
||||
<el-input v-model="formData.signed_rate" clearable placeholder="请输入合同签订费率" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同服务工期" prop="service_duration">
|
||||
<el-input v-model="formData.service_duration" clearable placeholder="请输入合同服务工期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始日期" prop="start_date">
|
||||
<el-input v-model="formData.start_date" clearable placeholder="请输入计划开始日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束日期" prop="end_date">
|
||||
<el-input v-model="formData.end_date" clearable placeholder="请输入计划结束日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="履约金" prop="performance_money">
|
||||
<el-input v-model="formData.performance_money" clearable placeholder="请输入履约金" />
|
||||
</el-form-item>
|
||||
<el-form-item label="履约金到期时间" prop="performance_money_expiration_time">
|
||||
<el-input v-model="formData.performance_money_expiration_time" clearable placeholder="请输入履约金到期时间" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同付款方式" prop="payment_method">
|
||||
<el-input v-model="formData.payment_method" clearable placeholder="请输入合同付款方式" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合同主要内容" prop="content">
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入合同主要内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<el-input v-model="formData.annex" clearable placeholder="请输入附件" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签订部门" prop="signed_dept">
|
||||
<el-input v-model="formData.signed_dept" clearable placeholder="请输入签订部门" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签订负责人" prop="signed_head">
|
||||
<el-input v-model="formData.signed_head" clearable placeholder="请输入签订负责人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="监管部门" prop="supervise_dept">
|
||||
<el-input v-model="formData.supervise_dept" clearable placeholder="请输入监管部门" />
|
||||
</el-form-item>
|
||||
<el-form-item label="项目总监/经理" prop="project_manager">
|
||||
<el-input v-model="formData.project_manager" clearable placeholder="请输入项目总监/经理" />
|
||||
</el-form-item>
|
||||
<el-form-item label="实施方式" prop="implement_method">
|
||||
<el-input v-model="formData.implement_method" clearable placeholder="请输入实施方式" />
|
||||
</el-form-item>
|
||||
<el-form-item label="盖章名称" prop="seal_name">
|
||||
<el-input v-model="formData.seal_name" clearable placeholder="请输入盖章名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否限制" prop="is_limit">
|
||||
<el-input v-model="formData.is_limit" clearable placeholder="请输入是否限制" />
|
||||
</el-form-item>
|
||||
<el-form-item label="限制次数" prop="limit_num">
|
||||
<el-input v-model="formData.limit_num" clearable placeholder="请输入限制次数" />
|
||||
</el-form-item>
|
||||
<el-form-item label="文件类型" prop="file_type">
|
||||
<el-input v-model="formData.file_type" clearable placeholder="请输入文件类型" />
|
||||
</el-form-item>
|
||||
<el-form-item label="盖章份数" prop="seal_num">
|
||||
<el-input v-model="formData.seal_num" clearable placeholder="请输入盖章份数" />
|
||||
</el-form-item>
|
||||
<el-form-item label="盖章人" prop="seal_user">
|
||||
<el-input v-model="formData.seal_user" clearable placeholder="请输入盖章人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="骑缝盖章" prop="plance_seal">
|
||||
<el-input v-model="formData.plance_seal" clearable placeholder="请输入骑缝盖章" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发出日期" prop="send_date">
|
||||
<el-input v-model="formData.send_date" clearable placeholder="请输入发出日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮寄编号" prop="mailing_number">
|
||||
<el-input v-model="formData.mailing_number" clearable placeholder="请输入邮寄编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="评审状态 0-待移交 1-已移交" prop="review_status">
|
||||
<el-input v-model="formData.review_status" clearable placeholder="请输入评审状态 0-待移交 1-已移交" />
|
||||
</el-form-item>
|
||||
<el-form-item label="立项状态 0-待立项 1-已立项" prop="status">
|
||||
<el-input v-model="formData.status" clearable placeholder="请输入立项状态 0-待立项 1-已立项" />
|
||||
</el-form-item>
|
||||
<el-form-item label="录入人" prop="create_user">
|
||||
<el-input v-model="formData.create_user" clearable placeholder="请输入录入人" />
|
||||
</el-form-item>
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="协议名称" prop="contract_name">
|
||||
<el-input v-model="formData.contract_name" clearable placeholder="请输入协议名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="协议性质" prop="agreement_nature">
|
||||
<el-select class=' flex-1' v-model="formData.agreement_nature">
|
||||
<el-option v-for="(item, index) in dictData.agreement_nature " :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="甲方签订单位" prop="part_a">
|
||||
<el-input v-model="formData.part_a" clearable placeholder="请输入甲方签订单位" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系人" prop="part_a_contact">
|
||||
<el-input v-model="formData.part_a_contact" clearable placeholder="请输入联系人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="业主地址" prop="part_a_address">
|
||||
<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-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="乙方签约人" prop="part_b_signatory">
|
||||
<el-input v-model="formData.part_b_signatory_name" clearable placeholder="请输入乙方签约人" @click="userclick('part_b_signatory')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="业务性质" prop="business_nature">
|
||||
<el-select class=' flex-1' v-model="formData.business_nature">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_business_nature "
|
||||
:key="index" :label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</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-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="签订费率(%)" prop="signed_rate">
|
||||
<el-input v-model="formData.signed_rate" clearable placeholder="请输入签订费率" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="协议有效期" prop="service_duration">
|
||||
<el-input v-model="formData.service_duration" clearable placeholder="请输入协议有效期" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="取消规则" prop="payment_method">
|
||||
<el-input v-model="formData.payment_method" clearable placeholder="请输入取消规则" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="协议主要内容" prop="content">
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入协议主要内容" type="textarea" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="">
|
||||
|
||||
<upload-annex :form-data="formData"></upload-annex>
|
||||
</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">
|
||||
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="签订负责人" prop="signed_head">
|
||||
<el-input v-model="formData.signed_head_name" readonly clearable placeholder="点击选择签订负责人" @click="userclick('signed_head')"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="盖章名称" prop="seal_name">
|
||||
<el-select class=' flex-1' v-model="formData.seal_name">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_seal_name " :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否限制次数" prop="is_limit">
|
||||
<el-select class=' flex-1' v-model="formData.is_limit">
|
||||
<el-option label="是" :value="parseInt(1)"></el-option>
|
||||
<el-option label="否" :value="parseInt(0)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8" v-if='formData.is_limit'>
|
||||
<el-form-item label="限制次数" prop="limit_num">
|
||||
<el-input v-model="formData.limit_num" clearable placeholder="请输入限制次数" type='number'/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="文件类型" prop="file_type">
|
||||
<el-select class=' flex-1' v-model="formData.file_type">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_file_type " :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="盖章份数" prop="seal_num">
|
||||
<el-input v-model="formData.seal_num" clearable placeholder="请输入盖章份数" type='number'/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="盖章人" prop="seal_user_name">
|
||||
<el-input v-model="formData.seal_user_name" clearable placeholder="点击选择盖章人" readonly @click="userclick('seal_user')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="骑缝盖章" prop="plance_seal">
|
||||
<el-select class=' flex-1' v-model="formData.plance_seal">
|
||||
<el-option v-for="(item, index) in dictData.isqfgz " :key="index"
|
||||
:label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="发出日期" prop="send_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.send_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择发生日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="邮寄编号" prop="mailing_number">
|
||||
<el-input v-model="formData.mailing_number" clearable placeholder="请输入邮寄编号" type='number' />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<createUserLable :form-data='formData' name='录入' flag></createUserLable>
|
||||
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div v-if="showDialog">
|
||||
<personnelselector ref="personnel" @confirm="submituser" type="1">
|
||||
</personnelselector>
|
||||
</div>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -139,19 +172,21 @@
|
||||
<script lang="ts" setup name="marketingContractEdit">
|
||||
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 { apimketingFrameworkAgreementAdd, apimketingFrameworkAgreementEdit } from '@/api/marketing_framework_agreement'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
deptList: Array
|
||||
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const mode = ref('add')
|
||||
const showDialog=ref(false)
|
||||
const personnel=ref(null)
|
||||
|
||||
|
||||
// 弹窗标题
|
||||
@ -161,265 +196,59 @@ const popupTitle = computed(() => {
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
related_contract_id: '',
|
||||
contract_type: '',
|
||||
contract_name: '',
|
||||
contract_code: '',
|
||||
part_a: '',
|
||||
part_a_contact: '',
|
||||
part_a_address: '',
|
||||
part_b: '',
|
||||
part_b_signatory: '',
|
||||
business_nature: '',
|
||||
industry_nature: '',
|
||||
fund_sources: '',
|
||||
const_area: '',
|
||||
agreement_nature: '',
|
||||
project_money: '',
|
||||
project_scale: '',
|
||||
signed_amount: '',
|
||||
signed_rate: '',
|
||||
service_duration: '',
|
||||
start_date: '',
|
||||
end_date: '',
|
||||
performance_money: '',
|
||||
performance_money_expiration_time: '',
|
||||
payment_method: '',
|
||||
content: '',
|
||||
annex: '',
|
||||
signed_dept: '',
|
||||
signed_head: '',
|
||||
supervise_dept: '',
|
||||
project_manager: '',
|
||||
implement_method: '',
|
||||
seal_name: '',
|
||||
is_limit: '',
|
||||
limit_num: '',
|
||||
file_type: '',
|
||||
seal_num: '',
|
||||
seal_user: '',
|
||||
plance_seal: '',
|
||||
send_date: '',
|
||||
mailing_number: '',
|
||||
review_status: '',
|
||||
status: '',
|
||||
create_user: '',
|
||||
"contract_name": "",
|
||||
"agreement_nature": '',
|
||||
"part_a": '',
|
||||
"part_a_contact": "",
|
||||
"part_a_address": "",
|
||||
"part_b": "",
|
||||
"part_b_signatory": '',
|
||||
"part_b_signatory_name": '',
|
||||
"business_nature": '',
|
||||
"signed_amount": '',
|
||||
"signed_rate": '',
|
||||
"service_duration": "",
|
||||
"payment_method": "",
|
||||
"content": "",
|
||||
"annex": [],
|
||||
"signed_dept": '',
|
||||
"signed_head": '',
|
||||
"signed_head_name": '',
|
||||
"seal_name": '',
|
||||
"is_limit": '',
|
||||
"limit_num": '',
|
||||
"file_type": '',
|
||||
"seal_num": '',
|
||||
"seal_user": '',
|
||||
seal_user_name:"",
|
||||
"plance_seal": '',
|
||||
"send_date": "",
|
||||
"mailing_number": "",
|
||||
"create_user": "",
|
||||
"create_time": ""
|
||||
})
|
||||
|
||||
|
||||
let value;
|
||||
const userclick = async (val) => {
|
||||
showDialog.value = true
|
||||
value=val
|
||||
await nextTick()
|
||||
personnel.value.open()
|
||||
|
||||
}
|
||||
|
||||
//确认
|
||||
const submituser = (e: any) => {
|
||||
formData[value+'_name'] = e.name
|
||||
formData.seal_user = e.id
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
related_contract_id: [{
|
||||
required: true,
|
||||
message: '请输入关联主合同id',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
contract_type: [{
|
||||
required: true,
|
||||
message: '请输入合同类型 0-主合同 1-框架协议 2-补充协议',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
contract_name: [{
|
||||
required: true,
|
||||
message: '请输入合同名称',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
contract_code: [{
|
||||
required: true,
|
||||
message: '请输入合同编号',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
part_a: [{
|
||||
required: true,
|
||||
message: '请输入甲方签约单位',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
part_a_contact: [{
|
||||
required: true,
|
||||
message: '请输入联系人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
part_a_address: [{
|
||||
required: true,
|
||||
message: '请输入业主地址',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
part_b: [{
|
||||
required: true,
|
||||
message: '请输入乙方签约单位',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
part_b_signatory: [{
|
||||
required: true,
|
||||
message: '请输入乙方签约人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
business_nature: [{
|
||||
required: true,
|
||||
message: '请输入业务性质',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
industry_nature: [{
|
||||
required: true,
|
||||
message: '请输入行业性质',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
fund_sources: [{
|
||||
required: true,
|
||||
message: '请输入资金来源',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
const_area: [{
|
||||
required: true,
|
||||
message: '请输入建设区域',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
agreement_nature: [{
|
||||
required: true,
|
||||
message: '请输入协议性质',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
project_money: [{
|
||||
required: true,
|
||||
message: '请输入工程总投资',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
project_scale: [{
|
||||
required: true,
|
||||
message: '请输入工程规模及概况',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
signed_amount: [{
|
||||
required: true,
|
||||
message: '请输入签订金额',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
signed_rate: [{
|
||||
required: true,
|
||||
message: '请输入合同签订费率',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
service_duration: [{
|
||||
required: true,
|
||||
message: '请输入合同服务工期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
start_date: [{
|
||||
required: true,
|
||||
message: '请输入计划开始日期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
end_date: [{
|
||||
required: true,
|
||||
message: '请输入计划结束日期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
performance_money: [{
|
||||
required: true,
|
||||
message: '请输入履约金',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
performance_money_expiration_time: [{
|
||||
required: true,
|
||||
message: '请输入履约金到期时间',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
payment_method: [{
|
||||
required: true,
|
||||
message: '请输入合同付款方式',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
content: [{
|
||||
required: true,
|
||||
message: '请输入合同主要内容',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
signed_dept: [{
|
||||
required: true,
|
||||
message: '请输入签订部门',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
signed_head: [{
|
||||
required: true,
|
||||
message: '请输入签订负责人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
supervise_dept: [{
|
||||
required: true,
|
||||
message: '请输入监管部门',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
project_manager: [{
|
||||
required: true,
|
||||
message: '请输入项目总监/经理',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
implement_method: [{
|
||||
required: true,
|
||||
message: '请输入实施方式',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
seal_name: [{
|
||||
required: true,
|
||||
message: '请输入盖章名称',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
is_limit: [{
|
||||
required: true,
|
||||
message: '请输入是否限制',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
limit_num: [{
|
||||
required: true,
|
||||
message: '请输入限制次数',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
file_type: [{
|
||||
required: true,
|
||||
message: '请输入文件类型',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
seal_num: [{
|
||||
required: true,
|
||||
message: '请输入盖章份数',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
seal_user: [{
|
||||
required: true,
|
||||
message: '请输入盖章人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
plance_seal: [{
|
||||
required: true,
|
||||
message: '请输入骑缝盖章',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
send_date: [{
|
||||
required: true,
|
||||
message: '请输入发出日期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
mailing_number: [{
|
||||
required: true,
|
||||
message: '请输入邮寄编号',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
review_status: [{
|
||||
required: true,
|
||||
message: '请输入评审状态 0-待移交 1-已移交',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
status: [{
|
||||
required: true,
|
||||
message: '请输入立项状态 0-待立项 1-已立项',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
create_user: [{
|
||||
required: true,
|
||||
message: '请输入录入人',
|
||||
trigger: ['blur']
|
||||
}]
|
||||
|
||||
})
|
||||
|
||||
|
||||
@ -435,12 +264,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiMarketingContractDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 提交按钮
|
||||
@ -448,8 +272,8 @@ const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
? await apiMarketingContractEdit(data)
|
||||
: await apiMarketingContractAdd(data)
|
||||
? await apimketingFrameworkAgreementEdit(data)
|
||||
: await apimketingFrameworkAgreementAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
@ -470,6 +294,5 @@ const handleClose = () => {
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
@ -6,10 +6,12 @@
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_name" clearable placeholder="请输入合同名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="协议性质">
|
||||
<el-input class="w-[280px]" v-model="queryParams.agreement_nature" clearable placeholder="请输入合同编号" />
|
||||
<el-input class="w-[280px]" v-model="queryParams.agreement_nature" clearable
|
||||
placeholder="请输入合同编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="业务性质">
|
||||
<el-input class="w-[280px]" v-model="queryParams.business_nature" clearable placeholder="请输入甲方签约单位" />
|
||||
<el-input class="w-[280px]" v-model="queryParams.business_nature" clearable
|
||||
placeholder="请输入甲方签约单位" />
|
||||
</el-form-item>
|
||||
<el-form-item label="签订部门">
|
||||
<el-input class="w-[280px]" v-model="queryParams.signed_dept" clearable placeholder="请输入业务性质" />
|
||||
@ -43,39 +45,6 @@
|
||||
<el-table-column label="乙方签约单位" prop="part_b" show-overflow-tooltip />
|
||||
<el-table-column label="乙方签约人" prop="part_b_signatory" show-overflow-tooltip />
|
||||
<el-table-column label="业务性质" prop="business_nature" show-overflow-tooltip />
|
||||
<!-- <el-table-column label="行业性质" prop="industry_nature" show-overflow-tooltip />
|
||||
<el-table-column label="资金来源" prop="fund_sources" show-overflow-tooltip />
|
||||
<el-table-column label="建设区域" prop="const_area" show-overflow-tooltip />
|
||||
<el-table-column label="协议性质" prop="agreement_nature" show-overflow-tooltip />
|
||||
<el-table-column label="工程总投资" prop="project_money" show-overflow-tooltip />
|
||||
<el-table-column label="工程规模及概况" prop="project_scale" show-overflow-tooltip />
|
||||
<el-table-column label="签订金额" prop="signed_amount" show-overflow-tooltip />
|
||||
<el-table-column label="合同签订费率" prop="signed_rate" show-overflow-tooltip />
|
||||
<el-table-column label="合同服务工期" prop="service_duration" show-overflow-tooltip />
|
||||
<el-table-column label="计划开始日期" prop="start_date" show-overflow-tooltip />
|
||||
<el-table-column label="计划结束日期" prop="end_date" show-overflow-tooltip />
|
||||
<el-table-column label="履约金" prop="performance_money" show-overflow-tooltip />
|
||||
<el-table-column label="履约金到期时间" prop="performance_money_expiration_time" show-overflow-tooltip />
|
||||
<el-table-column label="合同付款方式" prop="payment_method" show-overflow-tooltip />
|
||||
<el-table-column label="合同主要内容" prop="content" show-overflow-tooltip />
|
||||
<el-table-column label="附件" prop="annex" show-overflow-tooltip />
|
||||
<el-table-column label="签订部门" prop="signed_dept" show-overflow-tooltip />
|
||||
<el-table-column label="签订负责人" prop="signed_head" show-overflow-tooltip />
|
||||
<el-table-column label="监管部门" prop="supervise_dept" show-overflow-tooltip />
|
||||
<el-table-column label="项目总监/经理" prop="project_manager" show-overflow-tooltip />
|
||||
<el-table-column label="实施方式" prop="implement_method" show-overflow-tooltip />
|
||||
<el-table-column label="盖章名称" prop="seal_name" show-overflow-tooltip />
|
||||
<el-table-column label="是否限制" prop="is_limit" show-overflow-tooltip />
|
||||
<el-table-column label="限制次数" prop="limit_num" show-overflow-tooltip />
|
||||
<el-table-column label="文件类型" prop="file_type" show-overflow-tooltip />
|
||||
<el-table-column label="盖章份数" prop="seal_num" show-overflow-tooltip />
|
||||
<el-table-column label="盖章人" prop="seal_user" show-overflow-tooltip />
|
||||
<el-table-column label="骑缝盖章" prop="plance_seal" show-overflow-tooltip />
|
||||
<el-table-column label="发出日期" prop="send_date" show-overflow-tooltip />
|
||||
<el-table-column label="邮寄编号" prop="mailing_number" show-overflow-tooltip />
|
||||
<el-table-column label="评审状态 0-待移交 1-已移交" prop="review_status" show-overflow-tooltip />
|
||||
<el-table-column label="立项状态 0-待立项 1-已立项" prop="status" show-overflow-tooltip />
|
||||
<el-table-column label="录入人" prop="create_user" show-overflow-tooltip /> -->
|
||||
<el-table-column label="操作" width="120" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['marketing.marketing_contract/edit']" type="primary" link
|
||||
@ -94,7 +63,8 @@
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false" />
|
||||
<edit-popup :deptList="deptList" v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists"
|
||||
@close="showEdit = false" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -105,6 +75,7 @@ import { apimketingFrameworkAgreementLists, apimketingFrameworkAgreementDelete,
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import { deptLists } from "@/api/org/department"
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
@ -129,7 +100,7 @@ const handleSelectionChange = (val: any[]) => {
|
||||
}
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('')
|
||||
const { dictData } = useDictData('isqfgz,agreement_nature,cost_consultation_business_nature,cost_consultation_seal_name,cost_consultation_file_type')
|
||||
|
||||
// 分页相关
|
||||
const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
@ -160,6 +131,13 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
let res = await deptLists()
|
||||
deptList.value = res.lists
|
||||
}
|
||||
|
||||
getLists()
|
||||
getDeptList()
|
||||
</script>
|
||||
|
@ -9,6 +9,15 @@
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="业务性质" prop="business_nature">
|
||||
<el-select class='flex-1' v-model="formData.business_nature">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_business_nature"
|
||||
:key="index" :label="item.name" :value="parseInt(item.value)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="material">
|
||||
|
Loading…
x
Reference in New Issue
Block a user