This commit is contained in:
mkm 2024-07-28 21:16:04 +08:00
parent 7a73f4e1fc
commit 2a118bd270
4 changed files with 946 additions and 935 deletions
.env.development
src/views
cost_projects
marketing_contract
supervision_project

@ -2,4 +2,4 @@ NODE_ENV = 'development'
VITE_APP_BASE_URL = 'https://ceshi-engineering.lihaink.cn/' VITE_APP_BASE_URL = 'https://ceshi-engineering.lihaink.cn/'
# VITE_APP_BASE_URL = 'http://www.eng.local/' # VITE_APP_BASE_URL = 'http://www.eng.local/'
# VITE_APP_BASE_URL = 'http://192.168.1.5:9090/' #VITE_APP_BASE_URL = 'http://192.168.1.8:8526/'

@ -6,18 +6,18 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目编号" prop="project_num"> <el-form-item label="项目编号" prop="project_num">
<el-input v-model="formData.project_num" clearable placeholder="系统自动生成" disabled /> <el-input v-model="formData.project_num" clearable placeholder="系统自动生成" disabled/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目名称" prop="project_name"> <el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="请输入项目名称" /> <el-input v-model="formData.project_name" clearable placeholder="请输入项目名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="关联合同" prop="contract_id"> <el-form-item label="关联合同" prop="contract_id">
<el-input v-model="formData.contract_name" clearable placeholder="点击选择项目" readonly <el-input v-model="formData.contract_name" clearable placeholder="点击选择项目" readonly
@click="showDialog = true" /> @click="showDialog = true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="8"> <!-- <el-col :span="8">
@ -31,7 +31,7 @@
<el-form-item label="咨询类型" prop="types"> <el-form-item label="咨询类型" prop="types">
<el-select v-model="formData.types" clearable placeholder="请选择业务性质" class="flex-1"> <el-select v-model="formData.types" clearable placeholder="请选择业务性质" class="flex-1">
<el-option v-for="(item, index) in dictData.consultation_type" :key="index" <el-option v-for="(item, index) in dictData.consultation_type" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -40,7 +40,7 @@
<!-- <el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1" disabled> --> <!-- <el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1" disabled> -->
<el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1"> <el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1">
<el-option v-for="( item, index ) in dictData.cost_consultation_industry_nature" <el-option v-for="( item, index ) in dictData.cost_consultation_industry_nature"
:key="index" :label="item.name" :value="parseInt(item.value)" /> :key="index" :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -49,7 +49,7 @@
<el-select v-model="formData.province" clearable placeholder="请选择省" <el-select v-model="formData.province" clearable placeholder="请选择省"
@change="province_change" class="flex-1"> @change="province_change" class="flex-1">
<el-option v-for="(item, index) in datas.provinceOptions" :key="index" <el-option v-for="(item, index) in datas.provinceOptions" :key="index"
:label="item.province_name" :value="(item.province_code)" /> :label="item.province_name" :value="(item.province_code)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -58,13 +58,13 @@
<el-form-item label="所在市区" prop="city"> <el-form-item label="所在市区" prop="city">
<el-select v-model="formData.city" clearable placeholder="请选择市" class="flex-1"> <el-select v-model="formData.city" clearable placeholder="请选择市" class="flex-1">
<el-option v-for="(item, index) in datas.cityOptions" :key="index" <el-option v-for="(item, index) in datas.cityOptions" :key="index"
:label="item.city_name" :value="(item.city_code)" /> :label="item.city_name" :value="(item.city_code)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="具体地址" prop="address"> <el-form-item label="具体地址" prop="address">
<el-input v-model="formData.address" clearable placeholder="请输入具体地址" /> <el-input v-model="formData.address" clearable placeholder="请输入具体地址"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -88,7 +88,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="计划工期" prop="jhgq"> <el-form-item label="计划工期" prop="jhgq">
<el-input v-model="formData.jhgq" clearable placeholder="请输入计划工期(天)" type="number" /> <el-input v-model="formData.jhgq" clearable placeholder="请输入计划工期(天)" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -98,7 +98,7 @@
]"> ]">
<el-select class="flex-1" v-model="formData.depar" clearable placeholder="请选择部门"> <el-select class="flex-1" v-model="formData.depar" clearable placeholder="请选择部门">
<el-option v-for="(item, index) in deptList" :key="index" :label="item.name" <el-option v-for="(item, index) in deptList" :key="index" :label="item.name"
:value="item.id" /> :value="item.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -107,13 +107,13 @@
<!-- <el-input v-model="formData.principal" clearable placeholder="请输入项目负责人" <!-- <el-input v-model="formData.principal" clearable placeholder="请输入项目负责人"
@click="userclick('principal')" disabled /> --> @click="userclick('principal')" disabled /> -->
<el-input v-model="formData.principal_name" clearable placeholder="请输入项目负责人" <el-input v-model="formData.principal_name" clearable placeholder="请输入项目负责人"
@click="userclick('principal')" /> @click="userclick('principal')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目相关人员" prop="person" label-width="120px"> <el-form-item label="项目相关人员" prop="person" label-width="120px">
<el-input v-model="formData.person_text" clearable placeholder="请输入项目相关人员" <el-input v-model="formData.person_text" clearable placeholder="请输入项目相关人员"
@click="userclick('person')" /> @click="userclick('person')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -121,42 +121,42 @@
<el-form-item label="项目总投资" prop="invest"> <el-form-item label="项目总投资" prop="invest">
<!-- <el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(元)" type="number" <!-- <el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(元)" type="number"
disabled /> --> disabled /> -->
<el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(元)" type="number" /> <el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(元)" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="预算造价" prop="budget"> <el-form-item label="预算造价" prop="budget">
<el-input v-model="formData.budget" clearable placeholder="请输入预算造价(元)" type="number" /> <el-input v-model="formData.budget" clearable placeholder="请输入预算造价(元)" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="送审造价" prop="cost"> <el-form-item label="送审造价" prop="cost">
<el-input v-model="formData.cost" clearable placeholder="请输入送审造价(元)" type="number" /> <el-input v-model="formData.cost" clearable placeholder="请输入送审造价(元)" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="审定造价" prop="approval"> <el-form-item label="审定造价" prop="approval">
<el-input v-model="formData.approval" clearable placeholder="请输入审定造价(元)" type="number" /> <el-input v-model="formData.approval" clearable placeholder="请输入审定造价(元)" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="委托单位" prop="aunit"> <el-form-item label="委托单位" prop="aunit">
<!-- <el-input v-model="formData.aunit" clearable placeholder="请输入委托单位" disabled /> --> <!-- <el-input v-model="formData.aunit" clearable placeholder="请输入委托单位" disabled /> -->
<el-input v-model="formData.aunit_name" clearable placeholder="请输入委托单位" /> <el-input v-model="formData.aunit_name" clearable placeholder="请输入委托单位"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="委托方联系人" prop="Acontact" label-width="120px"> <el-form-item label="委托方联系人" prop="Acontact" label-width="120px">
<!-- <el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人" disabled /> --> <!-- <el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人" disabled /> -->
<el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人" /> <el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="联系电话" prop="acontactnum"> <el-form-item label="联系电话" prop="acontactnum">
<el-input v-model="formData.acontactnum" clearable placeholder="请输入联系电话" type="number" /> <el-input v-model="formData.acontactnum" clearable placeholder="请输入联系电话" type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -171,23 +171,23 @@
<!-- <el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" disabled <!-- <el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" disabled
type="textarea" /> --> type="textarea" /> -->
<el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" <el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括"
type="textarea" /> type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建设单位" prop="js_unit"> <el-form-item label="建设单位" prop="js_unit">
<el-input v-model="formData.js_unit" clearable placeholder="请输入建设单位" /> <el-input v-model="formData.js_unit" clearable placeholder="请输入建设单位"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="注意事项" prop="note"> <el-form-item label="注意事项" prop="note">
<el-input v-model="formData.note" clearable placeholder="请输入注意事项" /> <el-input v-model="formData.note" clearable placeholder="请输入注意事项"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" /> <el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -211,17 +211,15 @@
</template> </template>
<script lang="ts" setup name="costProjectEdit"> <script lang="ts" setup name="costProjectEdit">
import type { FormInstance } from "element-plus"; import type {FormInstance} from "element-plus";
import Popup from "@/components/popup/index.vue"; import Popup from "@/components/popup/index.vue";
import { apiCostProjectAdd, apiCostProjectEdit } from "@/api/cost_project"; import {apiCostProjectAdd, apiCostProjectEdit} from "@/api/cost_project";
import { apiCostApprovedProjectDetail } from '@/api/cost_approved_project' import {apiCostApprovedProjectDetail} from '@/api/cost_approved_project'
import type { PropType } from "vue"; import type {PropType} from "vue";
import { useRoute } from "vue-router"; import {useRoute} from "vue-router";
import { cost_approved_projects } from "@/components/dialogTable/dialogTableConfig"; import {cost_approved_projects} from "@/components/dialogTable/dialogTableConfig";
import { apiCityList, apiProvinceList } from "@/api/common"; import {apiCityList, apiProvinceList} from "@/api/common";
import { checkPhone } from "@/utils/validate" import {checkPhone} from "@/utils/validate"
defineProps({ defineProps({
@ -292,6 +290,8 @@ const datas = reactive({
}); });
const customEvent = (e) => { const customEvent = (e) => {
formData.project_num = e.contract_code;
formData.contract_id = e.id; formData.contract_id = e.id;
formData.contract_name = e.contract_name; formData.contract_name = e.contract_name;
formData.project_name = e.contract_name; formData.project_name = e.contract_name;
@ -309,8 +309,14 @@ const customEvent = (e) => {
formData.jhgq = e.jhgq formData.jhgq = e.jhgq
formData.address = e.part_a_address formData.address = e.part_a_address
formData.Acontact = e.part_a_acontact formData.Acontact = e.part_a_acontact
formData.acontactnum = e.telephone formData.acontactnum = e.part_a_acontactnum
formData.province = e.province
formData.city = e.city
formData.principal = e.signed_head
showDialog.value = false; showDialog.value = false;
if(e.city!=''){
getCityList()
}
}; };
const getProvinceList = async () => { const getProvinceList = async () => {
@ -318,7 +324,7 @@ const getProvinceList = async () => {
datas["provinceOptions"] = data; datas["provinceOptions"] = data;
}; };
const getCityList = async () => { const getCityList = async () => {
const data = await apiCityList({ province_code: formData.province }); const data = await apiCityList({province_code: formData.province});
datas["cityOptions"] = data; datas["cityOptions"] = data;
}; };
@ -431,7 +437,7 @@ const setFormData = async (data: Record<any, any>) => {
const handleSubmit = async () => { const handleSubmit = async () => {
Array.isArray(formData.annex) ? "" : (formData.annex = []); Array.isArray(formData.annex) ? "" : (formData.annex = []);
await formRef.value?.validate(); await formRef.value?.validate();
const data = { ...formData }; const data = {...formData};
mode.value == "edit" mode.value == "edit"
? await apiCostProjectEdit(data) ? await apiCostProjectEdit(data)
: await apiCostProjectAdd(data); : await apiCostProjectAdd(data);
@ -477,7 +483,7 @@ const handleClose = () => {
if (route.query.contractId) { if (route.query.contractId) {
// handleAdd() // handleAdd()
apiCostApprovedProjectDetail({ id: route.query.contractId }).then(res => { apiCostApprovedProjectDetail({id: route.query.contractId}).then(res => {
customEvent(res) customEvent(res)
}) })
// // handleAdd() // // handleAdd()

@ -805,6 +805,9 @@ const setFormData = async (data: Record<any, any>) => {
formData.framework_agreement_name = data['framework_agreement_name'] formData.framework_agreement_name = data['framework_agreement_name']
} }
} }
if(data.city!=''){
getCityList()
}
} }
const getDetail = async (row: Record<string, any>) => { const getDetail = async (row: Record<string, any>) => {
@ -847,7 +850,6 @@ const open = (type = 'add') => {
mode.value = type mode.value = type
popupRef.value?.open() popupRef.value?.open()
} }
// //
const handleClose = () => { const handleClose = () => {
emit('close') emit('close')

@ -7,14 +7,14 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目名称" prop="project_name"> <el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="请输入项目名称" /> <el-input v-model="formData.project_name" clearable placeholder="请输入项目名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="行业"> <el-form-item label="行业">
<el-select class="flex-1" v-model="formData.industry" clearable placeholder="请选择行业"> <el-select class="flex-1" v-model="formData.industry" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index" <el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -22,7 +22,7 @@
<el-form-item label="性质"> <el-form-item label="性质">
<el-select class="flex-1" v-model="formData.nature" clearable placeholder="请选择性质"> <el-select class="flex-1" v-model="formData.nature" clearable placeholder="请选择性质">
<el-option v-for="(item, index) in dictData.supervision_project_nature" :key="index" <el-option v-for="(item, index) in dictData.supervision_project_nature" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -30,20 +30,20 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建设单位"> <el-form-item label="建设单位">
<el-input v-model="formData.build_unit_name" clearable placeholder="请输入建设单位" <el-input v-model="formData.build_unit_name" clearable placeholder="请输入建设单位"
@click="showDialog1 = true" /> @click="showDialog1 = true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建设区域"> <el-form-item label="建设区域">
<el-select class="flex-1" v-model="formData.build_area" clearable placeholder="请选择建设区域"> <el-select class="flex-1" v-model="formData.build_area" clearable placeholder="请选择建设区域">
<el-option v-for="(item, index) in dictData.supervision_project_build_area" :key="index" <el-option v-for="(item, index) in dictData.supervision_project_build_area" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目地址"> <el-form-item label="项目地址">
<el-input v-model="formData.address" clearable placeholder="请输入项目地址" /> <el-input v-model="formData.address" clearable placeholder="请输入项目地址"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -53,14 +53,14 @@
<el-form-item label="项目等级"> <el-form-item label="项目等级">
<el-select class="flex-1" v-model="formData.project_level" clearable placeholder="请选择盖章名称"> <el-select class="flex-1" v-model="formData.project_level" clearable placeholder="请选择盖章名称">
<el-option v-for="(item, index) in dictData.supervision_project_level" :key="index" <el-option v-for="(item, index) in dictData.supervision_project_level" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="总投资(元)" label-width="120px"> <el-form-item label="总投资(元)" label-width="120px">
<el-input v-model="formData.total_investment" clearable placeholder="请输入总投资(元)" <el-input v-model="formData.total_investment" clearable placeholder="请输入总投资(元)"
type="number" /> type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -74,13 +74,13 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="关联合同"> <el-form-item label="关联合同">
<el-input v-model="formData.contract_name" clearable placeholder="请输入关联合同" <el-input v-model="formData.contract_name" clearable placeholder="请输入关联合同"
@click="showDialog = true" readonly /> @click="showDialog = true" readonly/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同金额"> <el-form-item label="合同金额">
<el-input v-model="formData.contract_amount" clearable placeholder="请输入合同金额" <el-input v-model="formData.contract_amount" clearable placeholder="请输入合同金额"
type="number" /> type="number"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -144,26 +144,26 @@
<el-select class="flex-1" v-model="formData.engineering_status" clearable <el-select class="flex-1" v-model="formData.engineering_status" clearable
placeholder="请选择盖章名称"> placeholder="请选择盖章名称">
<el-option v-for="(item, index) in dictData.supervision_project_status" :key="index" <el-option v-for="(item, index) in dictData.supervision_project_status" :key="index"
:label="item.name" :value="parseInt(item.value)" /> :label="item.name" :value="parseInt(item.value)"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目负责人员" label-width="120px"> <el-form-item label="项目负责人员" label-width="120px">
<el-input v-model="formData.project_manager_name" clearable placeholder="请输入项目负责人员" <el-input v-model="formData.project_manager_name" clearable placeholder="请输入项目负责人员"
@click="userclick('project_manager')" /> @click="userclick('project_manager')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="甲方单位"> <el-form-item label="甲方单位">
<el-input v-model="formData.part_a_unit" clearable placeholder="请输入甲方单位" <el-input v-model="formData.part_a_unit" clearable placeholder="请输入甲方单位"
@click="showDialog2 = true" /> @click="showDialog2 = true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="创建人" prop="create_user"> <el-form-item label="创建人" prop="create_user">
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" /> <el-input v-model="formData.create_user" clearable placeholder="请输入创建人"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -176,24 +176,24 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同服务内容" label-width="120px"> <el-form-item label="合同服务内容" label-width="120px">
<el-input v-model="formData.contract_content" clearable placeholder="请输入合同服务内容" <el-input v-model="formData.contract_content" clearable placeholder="请输入合同服务内容"
type="textarea" /> type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目概况"> <el-form-item label="项目概况">
<el-input v-model="formData.project_overview" clearable placeholder="请输入项目概况" <el-input v-model="formData.project_overview" clearable placeholder="请输入项目概况"
type="textarea" /> type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目要求"> <el-form-item label="项目要求">
<el-input v-model="formData.project_requirements" clearable placeholder="请输入项目要求" <el-input v-model="formData.project_requirements" clearable placeholder="请输入项目要求"
type="textarea" /> type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" /> <el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -208,10 +208,10 @@
</personnelselector> </personnelselector>
</div> </div>
<el-dialog v-model="showDialog1" title="选择甲方单位" width="70%"> <el-dialog v-model="showDialog1" title="选择甲方单位" width="70%">
<dialogTable :config="marketing_custom" @customEvent="customEvent1"> </dialogTable> <dialogTable :config="marketing_custom" @customEvent="customEvent1"></dialogTable>
</el-dialog> </el-dialog>
<el-dialog v-model="showDialog2" title="选择甲方单位" width="70%"> <el-dialog v-model="showDialog2" title="选择甲方单位" width="70%">
<dialogTable :config="marketing_custom" @customEvent="customEvent2"> </dialogTable> <dialogTable :config="marketing_custom" @customEvent="customEvent2"></dialogTable>
</el-dialog> </el-dialog>
<el-dialog v-model="showDialog" title="选择合同" width="70%"> <el-dialog v-model="showDialog" title="选择合同" width="70%">
<dialogTable :config="cost_approved_projects" @customEvent="customEvent333" <dialogTable :config="cost_approved_projects" @customEvent="customEvent333"
@ -223,22 +223,23 @@
</template> </template>
<script lang="ts" setup name="supervisionProjectEdit"> <script lang="ts" setup name="supervisionProjectEdit">
import type { FormInstance } from 'element-plus' import type {FormInstance} from 'element-plus'
import { cost_approved_projects } from "@/components/dialogTable/dialogTableConfig"; import {cost_approved_projects} from "@/components/dialogTable/dialogTableConfig";
import Popup from '@/components/popup/index.vue' import Popup from '@/components/popup/index.vue'
import { import {
apiSupervisionProjectAdd, apiSupervisionProjectAdd,
apiSupervisionProjectEdit, apiSupervisionProjectEdit,
apiSupervisionProjectDetail apiSupervisionProjectDetail
} from '@/api/supervision_project' } from '@/api/supervision_project'
import type { PropType } from 'vue' import type {PropType} from 'vue'
import { apiCostApprovedProjectDetail } from '@/api/cost_approved_project' import {apiCostApprovedProjectDetail} from '@/api/cost_approved_project'
import { import {
marketing_framework_agreement, marketing_framework_agreement,
marketing_custom marketing_custom
} from '@/components/dialogTable/dialogTableConfig' } from '@/components/dialogTable/dialogTableConfig'
import { timeFormat } from '@/utils/util' import {timeFormat} from '@/utils/util'
import useUserStore from '@/stores/modules/user' import useUserStore from '@/stores/modules/user'
const userStore = useUserStore().userInfo const userStore = useUserStore().userInfo
const route = useRoute() const route = useRoute()
@ -549,7 +550,7 @@ const handleSubmit = async () => {
return return
} }
await formRef.value?.validate() await formRef.value?.validate()
const data = { ...formData } const data = {...formData}
mode.value == 'edit' mode.value == 'edit'
? await apiSupervisionProjectEdit(data) ? await apiSupervisionProjectEdit(data)
: await apiSupervisionProjectAdd(data) : await apiSupervisionProjectAdd(data)
@ -569,20 +570,22 @@ const handleClose = () => {
} }
if (route.query.contractId) { if (route.query.contractId) {
apiCostApprovedProjectDetail({ id: route.query.contractId }).then((res) => { apiCostApprovedProjectDetail({id: route.query.contractId}).then((res) => {
customEvent(res) customEvent(res)
}) })
} }
const customEvent = (e) => { const customEvent = (e) => {
console.log(e)
formData.contract = e.id formData.contract = e.id
formData.contract_name = e.contract_name formData.contract_name = e.contract_name
formData.project_name = e.contract_name;
formData.nature = e.industry_nature formData.nature = e.industry_nature
formData.planned_start_date = e.start_date formData.planned_start_date = e.start_date
formData.planned_end_date = e.end_date formData.planned_end_date = e.end_date
formData.project_manager = e.project_director formData.project_manager = e.project_director
formData.part_a = e.part_a formData.part_a = e.part_a
formData.part_a_unit = e.part_a_name formData.part_a_unit = e.part_a_name
formData.build_unit_name = e.part_b
formData.build_unit = e.part_b_signatory
formData.build_area = e.const_area formData.build_area = e.const_area
formData.total_investment = e.project_money formData.total_investment = e.project_money
formData.contract_amount = e.signed_amount formData.contract_amount = e.signed_amount