add
This commit is contained in:
parent
a45ed7521e
commit
df2619a433
@ -774,3 +774,128 @@ export const marketing_custom: Iconfig = {
|
||||
{ create_time: "录入日期" },
|
||||
],
|
||||
};
|
||||
|
||||
import { attendanceRecordLists } from "@/api/project_attendance_record";
|
||||
|
||||
export const project_attendance_record: Iconfig = {
|
||||
fetchFn: attendanceRecordLists,
|
||||
// dictData: "return_visit_type",
|
||||
serchList: [
|
||||
// {
|
||||
// label: "客户名称",
|
||||
// value: "name",
|
||||
// },
|
||||
// {
|
||||
// label: "客户编号",
|
||||
// value: "code",
|
||||
// },
|
||||
// {
|
||||
// label: "重要等级",
|
||||
// value: "important_level",
|
||||
// select: "custom_important_level",
|
||||
// },
|
||||
],
|
||||
tableList: [
|
||||
{ attendance_code: "日记工单号" },
|
||||
{ project_code: "项目编码" },
|
||||
{ project_name: "项目名称" },
|
||||
{ attendance_date: "日期" },
|
||||
{ cqrs: "出勤人数" },
|
||||
{ work_record_num_total: "记工数量" },
|
||||
{ daily_salary_total: "日工资合计" },
|
||||
{ daily_living_total: "日生活费合计" },
|
||||
{ daily_subsidy_total: "日补贴合计" },
|
||||
{ daily_other_total: "日其它合计" },
|
||||
{ daily_income_total: "日收入合计" },
|
||||
],
|
||||
};
|
||||
|
||||
import { apimketingFrameworkAgreementLists } from "@/api/marketing_framework_agreement";
|
||||
|
||||
export const marketing_framework_agreement: Iconfig = {
|
||||
fetchFn: apimketingFrameworkAgreementLists,
|
||||
dictData: "custom_important_level,cost_consultation_business_nature",
|
||||
serchList: [
|
||||
{
|
||||
label: "合同名称",
|
||||
value: "contract_name",
|
||||
},
|
||||
{
|
||||
label: "协议性质",
|
||||
value: "important_level",
|
||||
select: "custom_important_level",
|
||||
},
|
||||
{
|
||||
label: "业务性质",
|
||||
value: "business_nature",
|
||||
select: "cost_consultation_business_nature",
|
||||
},
|
||||
],
|
||||
tableList: [
|
||||
{ contract_name: "协议名称" },
|
||||
{ contract_code: "合同编号" },
|
||||
{ part_a_contact: "甲方签约单位联系人" },
|
||||
{ part_b: "乙方签约单位" },
|
||||
{ business_nature_text: "业务性质" },
|
||||
{ signed_dept_name: "签订部门" },
|
||||
{ signed_head_name: "签订负责人" },
|
||||
{ seal_user_name: "盖章人" },
|
||||
{ agreement_nature_text: "协议性质" },
|
||||
{ seal_name_text: "盖章名称" },
|
||||
{ is_limit_text: "是否限制次数" },
|
||||
{ file_type_text: "文件类型" },
|
||||
],
|
||||
};
|
||||
|
||||
import { apiMarketingContractLists } from "@/api/marketing_contract";
|
||||
|
||||
export const marketing_contract: Iconfig = {
|
||||
fetchFn: apiMarketingContractLists,
|
||||
dictData: "cost_consultation_business_nature",
|
||||
serchList: [
|
||||
{
|
||||
label: "合同类型",
|
||||
value: "contract_type",
|
||||
select: [
|
||||
{
|
||||
name: "主合同",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
name: "框架协议",
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
name: "补充协议",
|
||||
value: 2,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "合同名称",
|
||||
value: "contract_name",
|
||||
},
|
||||
{
|
||||
label: "业务性质",
|
||||
value: "business_nature",
|
||||
select: "cost_consultation_business_nature",
|
||||
},
|
||||
],
|
||||
tableList: [
|
||||
{ contract_name: "合同名称" },
|
||||
{ contract_code: "合同编号" },
|
||||
{ part_a_name: "甲方签约单位" },
|
||||
{ part_b: "乙方签约单位" },
|
||||
{ part_b_signatory_name: "乙方签约人" },
|
||||
{ business_nature_text: "业务性质" },
|
||||
{ industry_nature_text: "行业性质" },
|
||||
{ fund_sources_text: "资金来源" },
|
||||
{ const_area_text: "建设区域" },
|
||||
{ project_money: "工程总投资" },
|
||||
{ project_scale: "工程规模及概况" },
|
||||
{ signed_rate: "合同签订费率" },
|
||||
{ service_duration: "合同服务工期" },
|
||||
{ start_date: "计划开始日期" },
|
||||
{ end_date: "计划结束日期" },
|
||||
],
|
||||
};
|
||||
|
286
src/views/marketing_contract/detail.vue
Normal file
286
src/views/marketing_contract/detail.vue
Normal file
@ -0,0 +1,286 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="合同详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
|
||||
<el-card>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="关联协议框架" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_type_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_code }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="甲方签订单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_contact }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业主地址" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b_signatory_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业务性质" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.business_nature_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="行业性质" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.industry_nature_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="资金来源" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.fund_sources_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="建设区域" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.const_area_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="工程总投资" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.project_money }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="工程规模及概况" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.project_scale }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_amount }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同签订费率" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_rate }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同服务工期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.service_duration }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="计划开始日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.start_date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="计划结束日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.end_date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="履约金" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.performance_money }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="履约金到期时间" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.performance_money_expiration_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同付款方式" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.payment_method }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同主要内容" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.content }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订部门" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_dept_name }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="签订负责人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_head_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="监管部门" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.supervise_dept_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="项目总监/总理" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.project_manager_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="实施方式" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.implement_method_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_name_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否限制" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.is_limit_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制次数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.limit_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="文件类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.file_type_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章份数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_user_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="发出日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.send_date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.mailing_number }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_user }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<annexLink :annex="formData.annex"></annexLink>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<!--
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_cost_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" /> -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectCostBudgetDetailLists } from '@/api/project_cost_budget_detail.ts'
|
||||
import { apiproject_cost_budgetApprove, apiproject_cost_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
const tableData = ref([])
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
related_contract_id: "",
|
||||
framework_agreement_name: "",
|
||||
contract_type: "",
|
||||
contract_type_text: "",
|
||||
contract_name: "",
|
||||
contract_code: "",
|
||||
part_a: "",
|
||||
part_a_name: "",
|
||||
part_a_contact: "",
|
||||
part_a_address: "",
|
||||
part_b: "",
|
||||
part_b_signatory: "",
|
||||
part_b_signatory_name: "",
|
||||
business_nature: "",
|
||||
business_nature_text: "",
|
||||
industry_nature: "",
|
||||
industry_nature_text: "",
|
||||
fund_sources: "",
|
||||
fund_sources_text: "",
|
||||
const_area: "",
|
||||
const_area_text: "",
|
||||
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: "",
|
||||
signed_head_name: "",
|
||||
supervise_dept: "",
|
||||
project_manager: "",
|
||||
project_manager_name: "",
|
||||
implement_method: "",
|
||||
seal_name: "",
|
||||
is_limit: "",
|
||||
limit_num: "",
|
||||
file_type: "",
|
||||
seal_num: "",
|
||||
seal_user: "",
|
||||
seal_user_name: "",
|
||||
plance_seal: "",
|
||||
send_date: "",
|
||||
mailing_number: "",
|
||||
review_status: "",
|
||||
status: "",
|
||||
create_user: "",
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
// getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
popupRef.value?.close()
|
||||
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
@ -4,8 +4,9 @@
|
||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联主合同id" prop="related_contract_id">
|
||||
<el-input v-model="formData.related_contract_id" clearable placeholder="请输入关联主合同id" />
|
||||
<el-form-item label="关联协议框架" prop="related_contract_id">
|
||||
<el-input v-model="formData.framework_agreement_name" clearable placeholder="点击选择协议框架"
|
||||
@click="showDialog1 = true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -29,7 +30,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="甲方签约单位" prop="part_a">
|
||||
<el-input v-model="formData.part_a" clearable placeholder="请输入甲方签约单位" />
|
||||
<el-input v-model="formData.part_a_name" clearable placeholder="请输入甲方签约单位" readonly
|
||||
@click="showDialog2 = true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -85,11 +87,11 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="协议性质" prop="agreement_nature">
|
||||
<el-input v-model="formData.agreement_nature" clearable placeholder="请输入协议性质" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工程总投资">
|
||||
<el-input v-model="formData.project_money" clearable placeholder="请输入工程总投资" type="number" />
|
||||
@ -123,7 +125,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="计划结束日期">
|
||||
<el-form-item label="计划结束日期" prop="end_date">
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.end_date" clearable type="date"
|
||||
value-format="YYYY-MM-DD" placeholder="选择发生日期">
|
||||
</el-date-picker>
|
||||
@ -151,11 +153,7 @@
|
||||
<el-input v-model="formData.content" clearable placeholder="请输入合同主要内容" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<upload-annex :form-data="formData" />
|
||||
</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">
|
||||
@ -252,7 +250,8 @@
|
||||
<el-input v-model="formData.mailing_number" clearable placeholder="请输入邮寄编号" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="评审状态">
|
||||
<el-select v-model="formData.review_status" class="flex-1">
|
||||
<el-option label="待移交" :value="0"></el-option>
|
||||
@ -267,14 +266,27 @@
|
||||
<el-option label="已立项" :value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<createUserLable :form-data='formData' name='录入' flag></createUserLable>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<upload-annex :form-data="formData" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div v-if="showDialog">
|
||||
<personnelselector ref="personnel" @confirm="submituser" type="1">
|
||||
</personnelselector>
|
||||
</div>
|
||||
<el-dialog v-model="showDialog1" title="选择框架协议" width="70%">
|
||||
<dialogTable :config="marketing_framework_agreement" @customEvent="customEvent">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="showDialog2" title="选择甲方签订单位" width="70%">
|
||||
<dialogTable :config="marketing_custom" @customEvent="customEvent1">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -289,6 +301,10 @@ import {
|
||||
} from "@/api/marketing_contract";
|
||||
import { timeFormat } from "@/utils/util";
|
||||
import type { PropType } from "vue";
|
||||
import { marketing_framework_agreement, marketing_custom } from "@/components/dialogTable/dialogTableConfig";
|
||||
|
||||
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -302,6 +318,8 @@ const formRef = shallowRef<FormInstance>();
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>();
|
||||
const mode = ref("add");
|
||||
const showDialog = ref(false)
|
||||
const showDialog1 = ref(false)
|
||||
const showDialog2 = ref(false)
|
||||
const personnel = ref(null)
|
||||
|
||||
|
||||
@ -316,10 +334,12 @@ const popupTitle = computed(() => {
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
related_contract_id: "",
|
||||
framework_agreement_name: "",
|
||||
contract_type: "",
|
||||
contract_name: "",
|
||||
contract_code: "",
|
||||
part_a: "",
|
||||
part_a_name: "",
|
||||
part_a_contact: "",
|
||||
part_a_address: "",
|
||||
part_b: "",
|
||||
@ -365,6 +385,20 @@ const formData = reactive({
|
||||
});
|
||||
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.related_contract_id = e.id
|
||||
formData.framework_agreement_name = e.contract_name
|
||||
showDialog1.value = false
|
||||
}
|
||||
|
||||
const customEvent1 = (e) => {
|
||||
formData.part_a = e.id
|
||||
formData.part_a_name = e.invoice_company
|
||||
showDialog2.value = false
|
||||
}
|
||||
|
||||
|
||||
|
||||
let value;
|
||||
const userclick = async (val) => {
|
||||
showDialog.value = true
|
||||
@ -377,11 +411,17 @@ const userclick = async (val) => {
|
||||
//确认
|
||||
const submituser = (e: any) => {
|
||||
formData[value + '_name'] = e.name
|
||||
formData.seal_user = e.id
|
||||
formData[value] = e.id
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
|
||||
const chekcDate = (rule: any, value: any, callback: any) => {
|
||||
if (new Date(formData.end_date) < new Date(formData.start_date)) {
|
||||
callback(new Error('计划结束日期时间不能早于计划开始日期'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
@ -531,6 +571,10 @@ const formRules = reactive<any>({
|
||||
message: "请输入计划结束日期",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
{
|
||||
validator: chekcDate,
|
||||
trigger: ['blur']
|
||||
}
|
||||
],
|
||||
performance_money: [
|
||||
{
|
||||
|
@ -14,14 +14,12 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合同名称" prop="contract_name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_name" clearable
|
||||
placeholder="请输入合同名称" />
|
||||
<el-input v-model="queryParams.contract_name" clearable placeholder="请输入合同名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="合同编号" prop="contract_code">
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_code" clearable
|
||||
placeholder="请输入合同编号" />
|
||||
<el-input v-model="queryParams.contract_code" clearable placeholder="请输入合同编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
@ -58,8 +56,7 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="签订金额" prop="signed_amount">
|
||||
<el-input class="w-[280px]" v-model="queryParams.signed_amount" clearable placeholder="请输入签订金额"
|
||||
type="number" />
|
||||
<el-input v-model="queryParams.signed_amount" clearable placeholder="请输入签订金额" type="number" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
@ -87,14 +84,13 @@
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
|
||||
<el-table-column label="合同编号" prop="contract_code" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位" prop="part_a" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位" prop="part_a_name" show-overflow-tooltip />
|
||||
<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="part_b_signatory_name" show-overflow-tooltip />
|
||||
<el-table-column label="业务性质" prop="business_nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="行业性质" prop="industry_nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="资金来源" prop="fund_sources_text" show-overflow-tooltip />
|
||||
<el-table-column label="建设区域" prop="const_area_text" 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 />
|
||||
@ -103,28 +99,7 @@
|
||||
<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">
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['marketing.marketing_contract/edit']" type="primary" link
|
||||
@click="handleEdit(row)">
|
||||
@ -134,6 +109,9 @@
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['marketing.marketing_contract/detail']" link @click="handledetail(row)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -144,21 +122,25 @@
|
||||
</el-card>
|
||||
<edit-popup v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists" @close="showEdit = false"
|
||||
:deptList="deptList" />
|
||||
<detail-popup v-if="showDtail" ref="detailRef" :dict-data="dictData" @close="showDtail = false" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="marketingContractLists">
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiMarketingContractLists, apiMarketingContractDelete } from '@/api/marketing_contract'
|
||||
import { apiMarketingContractLists, apiMarketingContractDelete, apiMarketingContractDetail } 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'
|
||||
import DetailPopup from './detail.vue'
|
||||
|
||||
const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
const showDtail = ref(false)
|
||||
|
||||
|
||||
// 查询条件
|
||||
@ -200,10 +182,11 @@ const handleAdd = async () => {
|
||||
|
||||
// 编辑
|
||||
const handleEdit = async (data: any) => {
|
||||
let res = await apiMarketingContractDetail({ id: data.id })
|
||||
showEdit.value = true
|
||||
await nextTick()
|
||||
editRef.value?.open('edit')
|
||||
editRef.value?.setFormData(data)
|
||||
editRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
// 删除
|
||||
@ -213,6 +196,17 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
|
||||
// 详情
|
||||
const handledetail = async (data: any) => {
|
||||
let res = await apiMarketingContractDetail({ id: data.id })
|
||||
showDtail.value = true
|
||||
await nextTick()
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
let res = await deptLists()
|
||||
|
202
src/views/marketing_framework_agreement/detail.vue
Normal file
202
src/views/marketing_framework_agreement/detail.vue
Normal file
@ -0,0 +1,202 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="框架协议详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
|
||||
<el-card>
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="协议名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协议性质" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.agreement_nature_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="甲方签订单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_contact }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业主地址" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b_signatory_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业务性质" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.business_nature_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="暂估签订金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_amount }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订费率(%)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_rate }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协议有效期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.service_duration }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="取消规则" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.payment_method }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协议主要内容" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.content }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订部门" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_dept_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订负责人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_head_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_name_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否限制次数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.is_limit ? "是" : "否" }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制次数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.limit_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="文件类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.file_type_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章份数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_user_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="骑缝盖章" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.plance_seal_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="发出日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.send_date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.mailing_number }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_user }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<annexLink :annex="formData.annex"></annexLink>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<!--
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_cost_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" /> -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectCostBudgetDetailLists } from '@/api/project_cost_budget_detail.ts'
|
||||
import { apiproject_cost_budgetApprove, apiproject_cost_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
const tableData = ref([])
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
//获取预算明细列表
|
||||
const budgetDetailLists = (id) => {
|
||||
apiProjectCostBudgetDetailLists({ 'page_no': pager1.page_no, 'page_size': pager1.page_size, cost_budget_id: id }).then((res) => {
|
||||
tableData.value = res.lists
|
||||
total.value = res.count
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
budgetDetailLists(data.id)
|
||||
// getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
popupRef.value?.close()
|
||||
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
@ -18,7 +18,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="甲方签订单位" prop="part_a">
|
||||
<el-input v-model="formData.part_a_text" clearable placeholder="点击选择甲方签约单位"
|
||||
<el-input v-model="formData.part_a_name" clearable placeholder="点击选择甲方签约单位"
|
||||
@click="showDialog1 = true" readonly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -78,10 +78,8 @@
|
||||
</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">
|
||||
@ -158,10 +156,7 @@
|
||||
</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">
|
||||
@ -207,10 +202,11 @@ const popupTitle = computed(() => {
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
"contract_name": "",
|
||||
"agreement_nature": '',
|
||||
"part_a": '',
|
||||
"part_a_text": '',
|
||||
"part_a_name": '',
|
||||
"part_a_contact": "",
|
||||
"part_a_address": "",
|
||||
"part_b": "",
|
||||
@ -242,7 +238,7 @@ const formData = reactive({
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.part_a = e.id
|
||||
formData.part_a_text = e.invoice_company
|
||||
formData.part_a_name = e.name
|
||||
showDialog1.value = false
|
||||
}
|
||||
|
||||
|
@ -6,19 +6,26 @@
|
||||
<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-select class='flex-1' v-model="queryParams.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-form-item label="业务性质">
|
||||
<el-input class="w-[280px]" v-model="queryParams.business_nature" clearable
|
||||
placeholder="请输入甲方签约单位" />
|
||||
<el-select class='flex-1' v-model="queryParams.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-form-item label="签订部门">
|
||||
<el-input class="w-[280px]" v-model="queryParams.signed_dept" clearable placeholder="请输入业务性质" />
|
||||
<el-select v-model="queryParams.signed_dept" placeholder="请选择部门">
|
||||
<el-option :label="item.name" :value="item.id" v-for="item in deptList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="甲方签约单位">
|
||||
<!-- <el-form-item label="甲方签约单位">
|
||||
<el-input class="w-[280px]" v-model="queryParams.part_a" clearable placeholder="请输入行业性质" />
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
@ -39,22 +46,32 @@
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
|
||||
<el-table-column label="协议名称" prop="contract_name" show-overflow-tooltip />
|
||||
<el-table-column label="合同编号" prop="contract_code" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位" prop="part_a" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位联系人" prop="part_a_contact" show-overflow-tooltip />
|
||||
<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="操作" width="120" fixed="right">
|
||||
<el-table-column label="业务性质" prop="business_nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="签订部门" prop="signed_dept_name" show-overflow-tooltip />
|
||||
<el-table-column label="签订负责人" prop="signed_head_name" show-overflow-tooltip />
|
||||
<el-table-column label="盖章人" prop="seal_user_name" show-overflow-tooltip />
|
||||
<el-table-column label="协议性质" prop="agreement_nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="盖章名称" prop="seal_name_text" show-overflow-tooltip />
|
||||
<el-table-column label="是否限制次数" prop="is_limit_text" show-overflow-tooltip />
|
||||
<el-table-column label="文件类型" prop="file_type_text" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['marketing.marketing_contract/edit']" type="primary" link
|
||||
<el-button v-perms="['marketing.marketing_framework_agreement/edit']" type="primary" link
|
||||
@click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button v-perms="['marketing.marketing_contract/delete']" type="danger" link
|
||||
<el-button v-perms="['marketing.marketing_framework_agreement/delete']" type="danger" link
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['marketing.marketing_framework_agreement/detail']" link
|
||||
@click="handledetail(row)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -65,6 +82,8 @@
|
||||
</el-card>
|
||||
<edit-popup :deptList="deptList" v-if="showEdit" ref="editRef" :dict-data="dictData" @success="getLists"
|
||||
@close="showEdit = false" />
|
||||
<detail-popup v-if="showDtail" ref="detailRef" :dict-data="dictData" @close="showDtail = false" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -76,11 +95,12 @@ import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import { deptLists } from "@/api/org/department"
|
||||
import DetailPopup from './detail.vue'
|
||||
|
||||
const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
|
||||
const showDtail = ref(false)
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
@ -131,6 +151,14 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
// 详情
|
||||
const handledetail = async (data: any) => {
|
||||
let res = await apimketingFrameworkAgreementDetail({ id: data.id })
|
||||
showDtail.value = true
|
||||
await nextTick()
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
|
226
src/views/marketing_supplementary_agreement/detail.vue
Normal file
226
src/views/marketing_supplementary_agreement/detail.vue
Normal file
@ -0,0 +1,226 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="补充协议名详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
|
||||
<el-card>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="补充协议名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="关联主合同" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.supplementary_agreement_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="甲方签约单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_contact }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业主地址" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_contact }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业主地址" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_a_address }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约单位" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="乙方签约人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.part_b_signatory_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="业务性质" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.business_nature_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="签订金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_amount }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同付款方式" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.payment_method }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="合同主要内容" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.content }}
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="签订部门" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_dept_name }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="签订负责人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.signed_head_name }}
|
||||
</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="盖章名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_name_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="是否限制" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.is_limit_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制次数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.limit_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="文件类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.file_type_text }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章份数" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_num }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="盖章人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.seal_user_name }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="骑缝盖章" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.plance_seal }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="发出日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.send_date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="邮寄编号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.mailing_number }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_user }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="录入日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_time }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<annexLink :annex="formData.annex"></annexLink>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<!--
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_cost_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" /> -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectCostBudgetDetailLists } from '@/api/project_cost_budget_detail.ts'
|
||||
import { apiproject_cost_budgetApprove, apiproject_cost_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
const tableData = ref([])
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
"contract_name": "",
|
||||
"related_contract_id": '',
|
||||
"supplementary_agreement_name": '',
|
||||
"part_a": '',
|
||||
"part_a_name": '',
|
||||
"part_a_contact": "",
|
||||
"part_a_address": "",
|
||||
"part_b": "",
|
||||
"part_b_signatory": '',
|
||||
"part_b_signatory_name": '',
|
||||
"business_nature": '',
|
||||
"signed_amount": '',
|
||||
"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": ""
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
// getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
popupRef.value?.close()
|
||||
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
@ -10,12 +10,14 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联主合同" prop="related_contract_id">
|
||||
<!-- <el-input v-model="formData.related_contract_id" clearable placeholder="点击选择" /> -->
|
||||
<el-input v-model="formData.supplementary_agreement_name" clearable placeholder="点击选择"
|
||||
@click="showDialog1 = true" readonly />
|
||||
</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-input v-model="formData.part_a_name" clearable placeholder="请输入甲方签约单位" readonly
|
||||
@click="showDialog2 = true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -35,12 +37,16 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="乙方签约人" prop="part_b_signatory">
|
||||
<!-- <el-input v-model="formData.part_b_signatory" clearable placeholder="请输入乙方签约人" /> -->
|
||||
<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-input v-model="formData.business_nature" clearable placeholder="请输入关联主合同id" /> -->
|
||||
<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">
|
||||
@ -144,6 +150,14 @@
|
||||
<personnelselector ref="personnel" @confirm="submituser" type="1">
|
||||
</personnelselector>
|
||||
</div>
|
||||
<el-dialog v-model="showDialog1" title="选择主合同" width="70%">
|
||||
<dialogTable :config="marketing_contract" @customEvent="customEvent">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="showDialog2" title="选择甲方签订单位" width="70%">
|
||||
<dialogTable :config="marketing_custom" @customEvent="customEvent1">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -151,38 +165,45 @@
|
||||
<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 { apiMarketingSupplementaryAgreementAdd, apiMarketingSupplementaryAgreementEdit, apiMarketingSupplementaryAgreementDetail } from '@/api/marketing_supplementary_agreement'
|
||||
import { marketing_contract, marketing_custom } from "@/components/dialogTable/dialogTableConfig";
|
||||
import type { PropType } from 'vue'
|
||||
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 showDialog1 = ref(false)
|
||||
const showDialog2 = ref(false)
|
||||
const personnel = ref(null)
|
||||
|
||||
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑市场经营--合同信息' : '新增市场经营--合同信息'
|
||||
return mode.value == 'edit' ? '编辑市场经营--补充协议' : '新增市场经营--补充协议'
|
||||
})
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
"contract_name": "",
|
||||
"related_contract_id": '',
|
||||
"supplementary_agreement_name": '',
|
||||
"part_a": '',
|
||||
"part_a_name": '',
|
||||
"part_a_contact": "",
|
||||
"part_a_address": "",
|
||||
"part_b": "",
|
||||
"part_b_signatory": '',
|
||||
"part_b_signatory_name": '',
|
||||
"business_nature": '',
|
||||
"signed_amount": '',
|
||||
"payment_method": "",
|
||||
@ -190,12 +211,14 @@ const formData = reactive({
|
||||
"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": "",
|
||||
@ -203,6 +226,19 @@ const formData = reactive({
|
||||
"create_time": ""
|
||||
})
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.related_contract_id = e.id
|
||||
formData.supplementary_agreement_name = e.contract_name
|
||||
showDialog1.value = false
|
||||
}
|
||||
|
||||
const customEvent1 = (e) => {
|
||||
formData.part_a = e.id
|
||||
formData.part_a_name = e.name
|
||||
showDialog2.value = false
|
||||
}
|
||||
|
||||
|
||||
|
||||
let value;
|
||||
const userclick = async (val) => {
|
||||
@ -216,7 +252,10 @@ const userclick = async (val) => {
|
||||
//确认
|
||||
const submituser = (e: any) => {
|
||||
formData[value + '_name'] = e.name
|
||||
formData.seal_user = e.id
|
||||
formData[value] = e.id
|
||||
|
||||
|
||||
console.log(formData[value], 'v')
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
@ -238,12 +277,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiMarketingContractDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 提交按钮
|
||||
@ -251,8 +285,8 @@ const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
? await apiMarketingContractEdit(data)
|
||||
: await apiMarketingContractAdd(data)
|
||||
? await apiMarketingSupplementaryAgreementEdit(data)
|
||||
: await apiMarketingSupplementaryAgreementAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
@ -273,6 +307,5 @@ const handleClose = () => {
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
@ -36,21 +36,30 @@
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
|
||||
<el-table-column label="合同编号" prop="contract_code" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位" prop="part_a" show-overflow-tooltip />
|
||||
<el-table-column label="甲方签约单位" prop="part_a_name" show-overflow-tooltip />
|
||||
<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="操作" width="120" fixed="right">
|
||||
<el-table-column label="签订金额" prop="signed_amount" show-overflow-tooltip />
|
||||
<el-table-column label="关联主合同" prop="supplementary_agreement_name" show-overflow-tooltip />
|
||||
<el-table-column label="签订负责人" prop="signed_head_name" show-overflow-tooltip />
|
||||
<el-table-column label="盖章人" prop="seal_user_name" show-overflow-tooltip />
|
||||
<el-table-column label="业务性质" prop="business_nature_text" show-overflow-tooltip />
|
||||
<el-table-column label="盖章名称" prop="seal_name_text" show-overflow-tooltip />
|
||||
<el-table-column label="是否限制" prop="is_limit_text" show-overflow-tooltip />
|
||||
<el-table-column label="文件类型" prop="file_type_text" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="170" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button v-perms="['marketing.marketing_contract/edit']" type="primary" link
|
||||
<el-button v-perms="['marketing.marketing_supplementary_agreement/edit']" type="primary" link
|
||||
@click="handleEdit(row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button v-perms="['marketing.marketing_contract/delete']" type="danger" link
|
||||
<el-button v-perms="['marketing.marketing_supplementary_agreement/delete']" type="danger" link
|
||||
@click="handleDelete(row.id)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button v-perms="['marketing.marketing_supplementary_agreement/detail']" link
|
||||
@click="handledetail(row)">
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -59,7 +68,10 @@
|
||||
<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" />
|
||||
<detail-popup v-if="showDtail" ref="detailRef" :dict-data="dictData" @close="showDtail = false" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -67,13 +79,15 @@
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiMarketingSupplementaryAgreementLists, apiMarketingSupplementaryAgreementDelete, apiMarketingSupplementaryAgreementDetail } from '@/api/marketing_supplementary_agreement'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { deptLists } from "@/api/org/department"
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import DetailPopup from './detail.vue'
|
||||
|
||||
const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
const showDtail = ref(false)
|
||||
|
||||
|
||||
// 查询条件
|
||||
@ -93,7 +107,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({
|
||||
@ -124,6 +138,23 @@ const handleDelete = async (id: number | any[]) => {
|
||||
getLists()
|
||||
}
|
||||
|
||||
// 详情
|
||||
const handledetail = async (data: any) => {
|
||||
let res = await apiMarketingSupplementaryAgreementDetail({ id: data.id })
|
||||
showDtail.value = true
|
||||
await nextTick()
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
|
||||
|
||||
const deptList = ref([])
|
||||
const getDeptList = async () => {
|
||||
let res = await deptLists()
|
||||
deptList.value = res.lists
|
||||
}
|
||||
|
||||
getLists()
|
||||
getDeptList()
|
||||
</script>
|
||||
|
||||
|
@ -5,15 +5,17 @@
|
||||
<el-row>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="项目名称" prop="project_id" @click="showDialog = true">
|
||||
<el-input v-model="project_name" clearable placeholder="请输入项目名称" :disabled="project" />
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="日记工单号" prop="attendance_id">
|
||||
<el-input v-model="formData.attendance_code" clearable placeholder="点击选择考勤记录" readonly
|
||||
@click="showDialog = true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">
|
||||
<el-form-item label="项目编码" prop="project_id">
|
||||
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
<el-col :span="8">
|
||||
<el-form-item label="日期" prop="attendance_date">
|
||||
<el-date-picker class="flex-1 !flex" clearable v-model="formData.attendance_date" type="date"
|
||||
@ -94,8 +96,9 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<projectDialog @customEvent="customEvent"></projectDialog>
|
||||
<el-dialog v-model="showDialog" title="选择考勤记录" width="70%">
|
||||
<dialogTable :config="project_attendance_record" @customEvent="customEvent">
|
||||
</dialogTable>
|
||||
</el-dialog>
|
||||
<div v-if="showDialog1">
|
||||
<el-dialog v-model="showDialog1" title="选择项目人员" width="70%">
|
||||
@ -113,6 +116,10 @@ import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import projectDialog from '@/components/project/index.vue'
|
||||
import { attendancedetailAdd, attendancedetailEdit, attendancedetailDetail } from '@/api/project_attendance_detail'
|
||||
import { project_attendance_record } from "@/components/dialogTable/dialogTableConfig";
|
||||
|
||||
|
||||
|
||||
import customDialog from '@/components/project_personnel/index.vue'
|
||||
let props = defineProps({
|
||||
project: Object
|
||||
@ -133,8 +140,9 @@ const userInfo = userStore.userInfo
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
project_id: '',
|
||||
attendance_id: "",
|
||||
person_id: '',
|
||||
attendance_code: "",
|
||||
attendance_date: '',
|
||||
work_start_time: '',
|
||||
work_end_time: '',
|
||||
@ -151,17 +159,14 @@ const formData = reactive({
|
||||
})
|
||||
//获取值
|
||||
const customEvent = (e) => {
|
||||
formData.project_id = e.id
|
||||
project_name.value = e.name
|
||||
project_code.value = e.project_code
|
||||
idcard.value = ''
|
||||
work_type.value = ''
|
||||
console.log(e)
|
||||
formData.attendance_id = e.id
|
||||
formData.attendance_code = e.attendance_code
|
||||
showDialog.value = false
|
||||
formData.people = ''
|
||||
}
|
||||
|
||||
|
||||
if (props.project) customEvent(props.project);
|
||||
// if (props.project) customEvent(props.project);
|
||||
|
||||
const customEvent1 = (e) => {
|
||||
formData.person_id = e.id
|
||||
|
Loading…
x
Reference in New Issue
Block a user