add
This commit is contained in:
parent
4d40132a02
commit
270288c78e
src
components
views
acceptance_bill
apply_with_seal
build_process_settings copy
build_process_settings
consult_accept
consult_contract
consult_control
consult_cost
consult_decision
consult_declare
consult_demand
consult_design
consult_procure
consult_project
consult_receive
consult_scene_execute
consult_scene_org
consult_scene_prepare
cost_approved_projects
cost_projects
custom_contacts
custom_follow
custom_service
customer_demand
customer_demand_solution
jianli_project_progress_report
manage_accept_doc
manage_engineering_changes
manage_info_report
manage_monthly_progress_report
manage_project
manage_send_doc
project
project_cost_adjustment
project_cost_budget
project_equipment_budget
project_expense_reimbursement
project_expense_reimbursement_invoice_detail
project_follow_up
project_labor_budget
project_loan_apply
project_progress_payment
project_rectification
project_salary_payment
project_survey_signature
refundbidDeposit
supervision_accept
supervision_commencement_report
supervision_company_check
supervision_construction_management_personnel
supervision_construction_planning
supervision_contract_disclosure
supervision_dangerous_engineering_case
supervision_design_disclosure
supervision_diary
supervision_entity_parallel_testing
supervision_first_meeting
supervision_inspection
supervision_large_equipment
supervision_large_mechanical_equipment
supervision_material_parallel_testing
supervision_meeting_minutes
supervision_notice
supervision_participating_units_qualifications
supervision_planning
supervision_project
supervision_project_acceptance_report
supervision_project_case_review
supervision_project_info_report
supervision_project_milestones
supervision_project_monthly_report
supervision_project_owner_evaluation
supervision_rules
supervision_rules_disclosure
supervision_safety_management_personnel
supervision_safety_warning_sign
supervision_side_station
supervision_special_operation_personnel
supervision_test_blocks_specimens
supervision_witness_sampling
supervision_work_contact
task_allocation
@ -16,7 +16,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, reactive, defineProps, defineEmits } from "vue"
|
||||
import { ref, defineProps, defineEmits } from "vue"
|
||||
import configs from "@/config"
|
||||
import useUserStore from "@/stores/modules/user";
|
||||
const userStore = useUserStore();
|
||||
|
@ -1,30 +1,12 @@
|
||||
<template>
|
||||
<div class="upload">
|
||||
<el-upload
|
||||
ref="uploadRefs"
|
||||
:action="action"
|
||||
:multiple="multiple"
|
||||
:limit="limit"
|
||||
:show-file-list="false"
|
||||
:headers="headers"
|
||||
:data="data"
|
||||
:on-progress="handleProgress"
|
||||
:on-success="handleSuccess"
|
||||
:on-exceed="handleExceed"
|
||||
:on-error="handleError"
|
||||
:accept="getAccept"
|
||||
>
|
||||
<el-upload ref="uploadRefs" :action="action" :multiple="multiple" :limit="limit" :show-file-list="false"
|
||||
:headers="headers" :data="data" :on-progress="handleProgress" :on-success="handleSuccess"
|
||||
:on-exceed="handleExceed" :on-error="handleError" :accept="getAccept">
|
||||
<slot></slot>
|
||||
</el-upload>
|
||||
<el-dialog
|
||||
v-if="showProgress && fileList.length"
|
||||
v-model="visible"
|
||||
title="上传进度"
|
||||
:close-on-click-modal="false"
|
||||
width="500px"
|
||||
:modal="false"
|
||||
@close="handleClose"
|
||||
>
|
||||
<el-dialog v-if="showProgress && fileList.length" v-model="visible" title="上传进度" :close-on-click-modal="false"
|
||||
width="500px" :modal="false" @close="handleClose">
|
||||
<div class="file-list p-4">
|
||||
<template v-for="(item, index) in fileList" :key="index">
|
||||
<div class="mb-5">
|
||||
|
44
src/components/uploadAnnex/index.vue
Normal file
44
src/components/uploadAnnex/index.vue
Normal file
@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<el-upload
|
||||
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
||||
class="upload-demo" :show-file-list="false" aria-hidden="true" :headers="{ Token: userStore?.token }"
|
||||
:action="base_url + '/upload/file'" :on-success="handleAvatarSuccess" ref="upload" :limit="5" multiple>
|
||||
<el-button type="primary">
|
||||
上传
|
||||
</el-button>
|
||||
</el-upload>
|
||||
<div>
|
||||
<div v-for="(item, index) in formData[value]" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">{{
|
||||
item.name }}</a>
|
||||
<span style="cursor: pointer;margin-left: 5px;" @click="delFile(index)">x</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, defineProps } from "vue"
|
||||
import configs from "@/config"
|
||||
import useUserStore from "@/stores/modules/user";
|
||||
const userStore = useUserStore();
|
||||
const base_url = ref(configs.baseUrl + configs.urlPrefix)
|
||||
const props = defineProps({
|
||||
formData: {
|
||||
type: Object,
|
||||
require: true
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
default: 'annex'
|
||||
}
|
||||
})
|
||||
|
||||
const handleAvatarSuccess = (response: any) => {
|
||||
props.formData[props.value] ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? props.formData[props.value].push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFile = (index: number) => { props.formData.annex.splice(index, 1) }
|
||||
|
||||
</script>
|
@ -204,7 +204,9 @@ import bankaccountDialog from '@/components/bankaccount/index.vue'
|
||||
import salescontractDialog from '@/components/salescontract/index.vue'
|
||||
import { acceptancebillAdd, acceptancebillEdit, acceptancebillDetail } from '@/api/acceptance'
|
||||
import { toChinesNum } from "@/utils/util";
|
||||
|
||||
import { getAllProjectTypes } from '@/api/projecttype'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { isEmail, isIdCard, isPhone } from '@/utils/validate'
|
||||
import type { PropType } from 'vue'
|
||||
import { deptAll } from '@/api/org/department'
|
||||
import { getAll } from '@/api/org/organization'
|
||||
|
@ -169,8 +169,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -272,17 +271,7 @@ const submituser = (e: any) => {
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
|
||||
})
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
|
@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
|
||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
||||
|
||||
@ -50,9 +51,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="图例说明">
|
||||
<!-- <material-picker v-model="formData.annex" :limit="100" /> -->
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -61,17 +60,10 @@
|
||||
<el-input v-model="formData.quality_control_points" clearable placeholder="请输入质量控制点" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
|
||||
|
||||
<el-dialog v-model="showDialog" title="选择客户" width="70%">
|
||||
<customDialog @customEvent="customEvent"></customDialog>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
|
||||
@ -84,15 +76,8 @@ import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { buildprocesssettingsAdd, buildprocesssettingsEdit, buildprocesssettingsDetail } from '@/api/build/build_process_settings'
|
||||
import type { PropType } from 'vue'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const showDialog = ref(false)
|
||||
const subentry_engineering = ref('')
|
||||
const subentry_engineering_code = ref('')
|
||||
|
@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
|
||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
||||
|
||||
@ -50,9 +51,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="图例说明">
|
||||
<!-- <material-picker v-model="formData.annex" :limit="100" /> -->
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
@ -61,11 +60,7 @@
|
||||
<el-input v-model="formData.quality_control_points" clearable placeholder="请输入质量控制点" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
|
||||
|
||||
<el-dialog v-model="showDialog" title="选择客户" width="70%">
|
||||
<customDialog @customEvent="customEvent"></customDialog>
|
||||
</el-dialog>
|
||||
@ -84,15 +79,8 @@ import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { buildprocesssettingsAdd, buildprocesssettingsEdit, buildprocesssettingsDetail } from '@/api/build/build_process_settings'
|
||||
import type { PropType } from 'vue'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const showDialog = ref(false)
|
||||
const subentry_engineering = ref('')
|
||||
const subentry_engineering_code = ref('')
|
||||
|
@ -1,148 +1,3 @@
|
||||
<!-- <template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="项目id" prop="project_id">
|
||||
<el-input v-model="formData.project_id" clearable placeholder="请输入项目id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="文档名称" prop="title">
|
||||
<el-input v-model="formData.title" clearable placeholder="请输入文档名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="目录id" prop="directory_id">
|
||||
<el-input v-model="formData.directory_id" clearable placeholder="请输入目录id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="子目录" prop="subdirectory_id">
|
||||
<el-input v-model="formData.subdirectory_id" clearable placeholder="请输入子目录" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<el-input v-model="formData.annex" clearable placeholder="请输入附件" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="consultAcceptEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiConsultAcceptAdd, apiConsultAcceptEdit, apiConsultAcceptDetail } from '@/api/consult_accept'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
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 mode = ref('add')
|
||||
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑项目咨询--验收管理' : '新增项目咨询--验收管理'
|
||||
})
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
project_id: '',
|
||||
title: '',
|
||||
directory_id: '',
|
||||
subdirectory_id: '',
|
||||
remark: '',
|
||||
annex: '',
|
||||
})
|
||||
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
project_id: [{
|
||||
required: true,
|
||||
message: '请输入项目id',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
title: [{
|
||||
required: true,
|
||||
message: '请输入文档名称',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
directory_id: [{
|
||||
required: true,
|
||||
message: '请输入目录id',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
subdirectory_id: [{
|
||||
required: true,
|
||||
message: '请输入子目录',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
remark: [{
|
||||
required: true,
|
||||
message: '请输入备注',
|
||||
trigger: ['blur']
|
||||
}]
|
||||
})
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiConsultAcceptDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
? await apiConsultAcceptEdit(data)
|
||||
: await apiConsultAcceptAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
const open = (type = 'add') => {
|
||||
mode.value = type
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script> -->
|
||||
|
||||
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
|
||||
@ -172,8 +27,7 @@ defineExpose({
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -224,14 +78,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -79,14 +78,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -78,15 +77,6 @@ const formData = reactive({
|
||||
annex: [],
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -171,8 +171,7 @@ defineExpose({
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -223,14 +222,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -76,13 +75,6 @@ const formData = reactive({
|
||||
annex: [],
|
||||
})
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -79,21 +78,12 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
showDialog.value = false
|
||||
}
|
||||
|
||||
|
||||
// 获取目录
|
||||
|
||||
const SubdirectoryList = ref([])
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -78,14 +77,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -42,7 +41,6 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiConsultDesignAdd, apiConsultDesignEdit, } from '@/api/consult_design'
|
||||
|
||||
import type { PropType } from 'vue'
|
||||
import { consult_project } from "@/components/dialogTable/dialogTableConfig"
|
||||
import { apiConsultSubdirectoryLists } from '@/api/consult_subdirectory'
|
||||
@ -80,14 +78,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -78,15 +77,6 @@ const formData = reactive({
|
||||
annex: [],
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
|
@ -184,8 +184,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -271,14 +270,6 @@ const formData = reactive({
|
||||
create_time: timeFormat('', 'yyyy-mm-dd hh:MM:ss'),
|
||||
})
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
|
@ -171,8 +171,7 @@ defineExpose({
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -223,13 +222,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -79,13 +78,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
|
@ -27,8 +27,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -79,14 +78,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const customEvent = (e: any) => {
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.project_name
|
||||
@ -145,7 +136,6 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
}
|
||||
let res = await apiConsultSubdirectoryLists({ directory_id: formData.directory_id })
|
||||
SubdirectoryList.value = res.lists
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -171,8 +171,8 @@ defineExpose({
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -224,7 +224,7 @@ const formData = reactive({
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -283,8 +283,8 @@
|
||||
|
||||
</el-row>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -359,7 +359,7 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
if (!Array.isArray(formData.annex)) formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -33,8 +33,10 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="行业" prop="industry">
|
||||
<el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1">
|
||||
<el-option v-for="(item, index) in dictData.cost_consultation_industry_nature"
|
||||
:key="index" :label="item.name" :value="parseInt(item.value)" />
|
||||
<el-option v-for="(
|
||||
item, index
|
||||
) in dictData.cost_consultation_industry_nature" :key="index" :label="item.name"
|
||||
:value="parseInt(item.value)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -84,7 +86,9 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="组织" :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||
<el-form-item label="组织" :rules="[
|
||||
{ required: true, message: '不可为空', trigger: 'blur' },
|
||||
]">
|
||||
<el-select class="flex-1" v-model="formData.org_id" clearable placeholder="请选择组织"
|
||||
@change="deptrmt">
|
||||
<el-option v-for="(item, index) in list1" :key="index" :label="item.name"
|
||||
@ -95,8 +99,9 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="请选择部门" prop="depar"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]" label-width="100px">
|
||||
<el-form-item label="请选择部门" prop="depar" :rules="[
|
||||
{ required: true, message: '不可为空', trigger: 'blur' },
|
||||
]" label-width="100px">
|
||||
<el-select class="flex-1" v-model="formData.depar" clearable placeholder="请选择部门">
|
||||
<el-option v-for="(item, index) in list2" :key="index" :label="item.name"
|
||||
:value="item.id" />
|
||||
@ -188,134 +193,116 @@
|
||||
</el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<dialogTable :config='cost_approved_projects' @customEvent="customEvent"></dialogTable>
|
||||
<dialogTable :config="cost_approved_projects" @customEvent="customEvent"></dialogTable>
|
||||
</el-dialog>
|
||||
<div v-if="showDialog1">
|
||||
<personnelselector ref="personnel" @confirm="submituser" :type="persoleType">
|
||||
</personnelselector>
|
||||
</div>
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="costProjectEdit">
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCostProjectAdd, apiCostProjectEdit } from '@/api/cost_project'
|
||||
import type { PropType } from 'vue'
|
||||
import { deptAll } from '@/api/org/department'
|
||||
import { getAll } from '@/api/org/organization'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { cost_approved_projects } from "@/components/dialogTable/dialogTableConfig"
|
||||
import {
|
||||
apiCityList,
|
||||
apiAreaList,
|
||||
apiProvinceList,
|
||||
} from "@/api/common";
|
||||
import type { FormInstance } from "element-plus";
|
||||
import Popup from "@/components/popup/index.vue";
|
||||
import { apiCostProjectAdd, apiCostProjectEdit } from "@/api/cost_project";
|
||||
import type { PropType } from "vue";
|
||||
import { deptAll } from "@/api/org/department";
|
||||
import { getAll } from "@/api/org/organization";
|
||||
import { useRoute } from "vue-router";
|
||||
import { cost_approved_projects } from "@/components/dialogTable/dialogTableConfig";
|
||||
import { apiCityList, apiAreaList, apiProvinceList } from "@/api/common";
|
||||
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 mode = ref('add')
|
||||
const showDialog = ref(false)
|
||||
const showDialog1 = ref(false)
|
||||
const list1 = reactive([])
|
||||
const list2 = reactive([])
|
||||
const personnel = ref<any>()
|
||||
const route = useRoute()
|
||||
|
||||
default: () => ({}),
|
||||
},
|
||||
});
|
||||
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 list1 = reactive([]);
|
||||
const list2 = reactive([]);
|
||||
const personnel = ref<any>();
|
||||
const route = useRoute();
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑造价项目台账' : '新增造价项目台账'
|
||||
})
|
||||
return mode.value == "edit" ? "编辑造价项目台账" : "新增造价项目台账";
|
||||
});
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
id: '',
|
||||
project_num: '',
|
||||
project_name: '',
|
||||
contract_id: '',
|
||||
id: "",
|
||||
project_num: "",
|
||||
project_name: "",
|
||||
contract_id: "",
|
||||
contract_name: "",
|
||||
types: '',
|
||||
industry: '',
|
||||
province: '',
|
||||
city: '',
|
||||
types: "",
|
||||
industry: "",
|
||||
province: "",
|
||||
city: "",
|
||||
org_id: "",
|
||||
js_unit: "",
|
||||
address: '',
|
||||
starting: '',
|
||||
endtime: '',
|
||||
jhgq: '',
|
||||
depar: '',
|
||||
principal: '',
|
||||
principal_id: '',
|
||||
person: '',
|
||||
person_id: '',
|
||||
invest: '',
|
||||
budget: '',
|
||||
cost: '',
|
||||
approval: '',
|
||||
aunit: '',
|
||||
Acontact: '',
|
||||
acontactnum: '',
|
||||
date: '',
|
||||
generalize: '',
|
||||
note: '',
|
||||
remark: '',
|
||||
address: "",
|
||||
starting: "",
|
||||
endtime: "",
|
||||
jhgq: "",
|
||||
depar: "",
|
||||
principal: "",
|
||||
principal_id: "",
|
||||
person: "",
|
||||
person_id: "",
|
||||
invest: "",
|
||||
budget: "",
|
||||
cost: "",
|
||||
approval: "",
|
||||
aunit: "",
|
||||
Acontact: "",
|
||||
acontactnum: "",
|
||||
date: "",
|
||||
generalize: "",
|
||||
note: "",
|
||||
remark: "",
|
||||
annex: [],
|
||||
})
|
||||
});
|
||||
//获取所有组织
|
||||
const getlist = () => {
|
||||
getAll().then((res) => {
|
||||
Object.assign(list1, res)
|
||||
|
||||
})
|
||||
}
|
||||
Object.assign(list1, res);
|
||||
});
|
||||
};
|
||||
//获取部门
|
||||
const deptrmt = (e: any) => {
|
||||
formData.dept_id = ''
|
||||
getlist1(e)
|
||||
|
||||
}
|
||||
formData.dept_id = "";
|
||||
getlist1(e);
|
||||
};
|
||||
//获取所有部门
|
||||
const getlist1 = (id: any) => {
|
||||
deptAll({ 'org_id': id }).then((res) => {
|
||||
list2.splice(0, list2.length, ...res)
|
||||
})
|
||||
}
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
if (!Array.isArray(formData.annex)) formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
deptAll({ org_id: id }).then((res) => {
|
||||
list2.splice(0, list2.length, ...res);
|
||||
});
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
});
|
||||
|
||||
const customEvent = (e) => {
|
||||
formData.contract_id = e.id
|
||||
formData.contract_name = e.contract_name
|
||||
showDialog.value = false
|
||||
}
|
||||
formData.contract_id = e.id;
|
||||
formData.contract_name = e.contract_name;
|
||||
showDialog.value = false;
|
||||
};
|
||||
|
||||
const getProvinceList = async () => {
|
||||
const data = await apiProvinceList({});
|
||||
@ -333,128 +320,140 @@ function province_change(value: string) {
|
||||
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
project_name: [{
|
||||
required: true,
|
||||
message: '请输入项目名称',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
contract_id: [{
|
||||
required: true,
|
||||
message: '请输入关联合同',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
starting: [{
|
||||
required: true,
|
||||
message: '请输入计划开始日期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
endtime: [{
|
||||
required: true,
|
||||
message: '请输入计划结束日期',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
jhgq: [{
|
||||
required: true,
|
||||
message: '请输入计划工期(天)',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
principal: [{
|
||||
required: true,
|
||||
message: '请输入项目负责人',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
invest: [{
|
||||
required: true,
|
||||
message: '请输入项目总投资(万元)',
|
||||
trigger: ['blur']
|
||||
}],
|
||||
aunit: [{
|
||||
required: true,
|
||||
message: '请输入委托单位',
|
||||
trigger: ['blur']
|
||||
}]
|
||||
})
|
||||
|
||||
project_name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入项目名称",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
contract_id: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入关联合同",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
starting: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入计划开始日期",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
endtime: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入计划结束日期",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
jhgq: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入计划工期(天)",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
principal: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入项目负责人",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
invest: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入项目总投资(万元)",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
aunit: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入委托单位",
|
||||
trigger: ["blur"],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key]
|
||||
formData[key] = data[key];
|
||||
}
|
||||
}
|
||||
formData.province = Number(formData.province)
|
||||
formData.city = Number(formData.city)
|
||||
formData.depar = Number(formData.depar)
|
||||
formData.contract_name = data.contract.contract_name
|
||||
formData.province = Number(formData.province);
|
||||
formData.city = Number(formData.city);
|
||||
formData.depar = Number(formData.depar);
|
||||
formData.contract_name = data.contract.contract_name;
|
||||
getCityList();
|
||||
deptrmt(formData.org_id)
|
||||
}
|
||||
|
||||
deptrmt(formData.org_id);
|
||||
};
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
Array.isArray(formData.annex) ? "" : (formData.annex = []);
|
||||
await formRef.value?.validate();
|
||||
const data = { ...formData };
|
||||
mode.value == "edit"
|
||||
? await apiCostProjectEdit(data)
|
||||
: await apiCostProjectAdd(data)
|
||||
popupRef.value?.close()
|
||||
emit('success')
|
||||
}
|
||||
: await apiCostProjectAdd(data);
|
||||
popupRef.value?.close();
|
||||
emit("success");
|
||||
};
|
||||
|
||||
//打开弹窗
|
||||
const open = (type = 'add') => {
|
||||
mode.value = type
|
||||
popupRef.value?.open()
|
||||
getlist()
|
||||
|
||||
}
|
||||
const open = (type = "add") => {
|
||||
mode.value = type;
|
||||
popupRef.value?.open();
|
||||
getlist();
|
||||
};
|
||||
//打开弹窗
|
||||
const userclick = async (e: any) => {
|
||||
e == 'person' ? persoleType.value = 2 : persoleType.value = 1
|
||||
e == "person" ? (persoleType.value = 2) : (persoleType.value = 1);
|
||||
// label.value = e
|
||||
showDialog1.value = true
|
||||
await nextTick()
|
||||
personnel.value.open()
|
||||
showDialog1.value = true;
|
||||
await nextTick();
|
||||
personnel.value.open();
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
const label = ref('')
|
||||
const persoleType = ref('1')
|
||||
const label = ref("");
|
||||
const persoleType = ref("1");
|
||||
//确认
|
||||
const submituser = (e: any) => {
|
||||
let flag = Array.isArray(e)
|
||||
let flag = Array.isArray(e);
|
||||
let personl;
|
||||
let personl_id;
|
||||
personl = (flag ? (e.map(item => [item.name])).join(',') : e.name)
|
||||
personl_id = (flag ? (e.map(item => [item.id])).join(',') : e.id)
|
||||
personl = flag ? e.map((item) => [item.name]).join(",") : e.name;
|
||||
personl_id = flag ? e.map((item) => [item.id]).join(",") : e.id;
|
||||
|
||||
console.log(personl_id, 'personl_id')
|
||||
console.log(personl_id, "personl_id");
|
||||
if (flag) {
|
||||
formData.person = personl;
|
||||
formData.person_id = personl_id
|
||||
formData.person_id = personl_id;
|
||||
} else {
|
||||
formData.principal = personl
|
||||
formData.principal_id = personl_id
|
||||
formData.principal = personl;
|
||||
formData.principal_id = personl_id;
|
||||
}
|
||||
// formData.person_id = (flag ? (e.map(item => [item.id])).join(',') : e.id)
|
||||
// formData[label.value] = personl
|
||||
|
||||
showDialog1.value = false
|
||||
}
|
||||
showDialog1.value = false;
|
||||
};
|
||||
|
||||
// 关闭回调
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
emit("close");
|
||||
};
|
||||
|
||||
if (route.query.contractId) {
|
||||
// handleAdd()
|
||||
formData.contract_id = route.query.contractId
|
||||
formData.contract_name = route.query.contractName
|
||||
formData.contract_id = route.query.contractId;
|
||||
formData.contract_name = route.query.contractName;
|
||||
}
|
||||
|
||||
getProvinceList();
|
||||
@ -462,5 +461,5 @@ getProvinceList();
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
})
|
||||
});
|
||||
</script>
|
||||
|
@ -27,8 +27,8 @@
|
||||
<el-input v-model="formData.notes" clearable placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-dialog v-model="showDialog" title="选择客户" width="70%">
|
||||
|
@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="60%" @confirm="handleSubmit" @close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="60%" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
|
||||
<el-form-item label="主题" prop="name">
|
||||
<el-input v-model="formData.name" clearable placeholder="请输入主题" />
|
||||
@ -30,8 +31,7 @@
|
||||
<el-input v-model="formData.description" clearable placeholder="请输入行动描述" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件/现场照片" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
<el-form-item label="位置" prop="coordinate">
|
||||
<el-input v-model="formData.coordinate" clearable placeholder="请输入位置" />
|
||||
@ -58,17 +58,7 @@ import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { apiCustomLists } from '@/api/custom'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
// <annexUpload : annex = "formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
// @delFile="delFileFn" />
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
|
@ -97,8 +97,8 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -134,27 +134,21 @@ import { apiCustomServiceAdd, apiCustomServiceDetail } from '@/api/custom_servic
|
||||
import personnelselector from '@/components/personnelselector/index.vue'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import useUserStore from "@/stores/modules/user";
|
||||
import configs from "@/config"
|
||||
const list1 = reactive([])
|
||||
const list2 = reactive([])
|
||||
import { deptAll } from '@/api/org/department'
|
||||
import { getAll } from '@/api/org/organization'
|
||||
import reviewprocess from '@/components/reviewprocess/index.vue'
|
||||
import costDialog from '@/components/budget/index.vue'
|
||||
import peojectDialog from '@/components/project/index.vue'
|
||||
|
||||
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
// <annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
// @delFile="delFileFn" />
|
||||
|
||||
|
||||
const list = reactive([])
|
||||
const showDialog = ref(false)
|
||||
|
@ -56,8 +56,8 @@
|
||||
<el-input v-model="formData.demand_content" clearable placeholder="请输入需求内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</popup>
|
||||
|
@ -46,8 +46,8 @@
|
||||
<el-input v-model="formData.customer_feedback" clearable placeholder="请输入客户反馈" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -81,6 +81,7 @@ import type { PropType } from 'vue'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -102,8 +102,8 @@
|
||||
</el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="datas">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-form-item label="文本输入框" prop="fd_23">
|
||||
@ -143,7 +143,7 @@ const showDialog3 = ref(false)
|
||||
const personnel = ref<any>()
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -3,11 +3,8 @@
|
||||
<el-card class="!border-none mb-4" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="所属项目" prop="cost_project_id">
|
||||
<el-select v-model="queryParams.project_id" remote filterable :remote-method="queryCostProject"
|
||||
:loading="loading" class="flex-1">
|
||||
<el-option v-for="(item, index) in optionsData.projectList" :key="index"
|
||||
:label="item.projectinfo" :value="item.id" />
|
||||
</el-select>
|
||||
<select-remote model="project_id" :formData="queryParams"
|
||||
:api="apiCostProjectDatas"></select-remote>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据编号" prop="num">
|
||||
<el-input class="w-[280px]" v-model="queryParams.num" clearable placeholder="请输入单据编号" />
|
||||
@ -81,34 +78,14 @@
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apiJianliProjectProgressReportLists, apiJianliProjectProgressReportDelete, apiJianliProjectProgressReportDetail } from '@/api/jianli_project_progress_report'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import { apiCostProjectDatas } from "@/api/cost_project";
|
||||
import { useDictOptions } from "@/hooks/useDictOptions"
|
||||
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
const loading = ref(false)
|
||||
|
||||
const queryCostProject = async (query: string) => {
|
||||
loading.value = true
|
||||
const projectList = await apiCostProjectDatas({
|
||||
name: query ?? ''
|
||||
})
|
||||
optionsData.projectList = projectList
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
|
||||
const { optionsData } = useDictOptions<{
|
||||
projectList: any[]
|
||||
}>({
|
||||
projectList: {
|
||||
api: apiCostProjectDatas,
|
||||
}
|
||||
})
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
|
@ -36,8 +36,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -72,7 +72,7 @@ const popupTitle = computed(() => {
|
||||
})
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -31,8 +31,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -62,7 +62,7 @@ const showDialog = ref(false)
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -37,8 +37,8 @@
|
||||
<el-input v-model="formData.giver" clearable placeholder="请输入主送人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="创建人" prop="create_user">
|
||||
<el-input v-model="formData.create_user" clearable placeholder="请输入创建人" />
|
||||
@ -87,7 +87,7 @@ const popupTitle = computed(() => {
|
||||
})
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -31,8 +31,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -68,7 +68,7 @@ const popupTitle = computed(() => {
|
||||
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -174,8 +174,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -209,7 +209,7 @@ const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const mode = ref('add')
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -31,8 +31,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -87,7 +87,7 @@ const customEvent = (e: any) => {
|
||||
}
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -1,13 +1,16 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit"
|
||||
@close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
|
||||
<div style="display: flex; flex-direction: row-reverse; justify-content: flex-start;margin-bottom: 30px;">
|
||||
<div
|
||||
style="display: flex; flex-direction: row-reverse; justify-content: flex-start;margin-bottom: 30px;">
|
||||
|
||||
<el-select class="w-[180px]" v-model="formData.dept_id" clearable placeholder="请选择部门">
|
||||
<el-option v-for="(item, index) in list2" :key="index" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
<el-select class="w-[180px]" v-model="formData.org_id" clearable placeholder="请选择组织" @change="deptrmt">
|
||||
<el-select class="w-[180px]" v-model="formData.org_id" clearable placeholder="请选择组织"
|
||||
@change="deptrmt">
|
||||
<el-option v-for="(item, index) in list1" :key="index" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
@ -133,7 +136,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="建设方付款方式" prop="construction_payment_method">
|
||||
<el-input v-model="formData.construction_payment_method" clearable placeholder="请输入建设方付款方式" />
|
||||
<el-input v-model="formData.construction_payment_method" clearable
|
||||
placeholder="请输入建设方付款方式" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
@ -224,8 +228,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -248,6 +252,7 @@ import type { PropType } from 'vue'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -71,6 +71,7 @@ const showDialog = ref(false)
|
||||
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -216,6 +216,7 @@ const formRules = reactive<any>({
|
||||
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -136,6 +136,7 @@ const mode = ref('add')
|
||||
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -358,6 +358,7 @@ const delFileFn = (index: number) => {
|
||||
const invoiceIndex = ref(0)
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four1 = (response: any) => {
|
||||
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.invoice_detail[invoiceIndex.value].annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -115,6 +115,7 @@ let tax_amount = computed(() => {
|
||||
})
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -93,8 +93,8 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -116,6 +116,7 @@ import { useDictData } from '@/hooks/useDictOptions'
|
||||
// 上传文件
|
||||
import annexUpload from "@/components/annexUpload/index.vue"
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -181,6 +181,8 @@ if (props.project) customEvent(props.project);
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
// @ts-ignore
|
||||
|
||||
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
|
@ -140,6 +140,7 @@ const formData = reactive({
|
||||
|
||||
// 上传文件
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
@ -53,8 +53,8 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<dialogTable :config="cost_project" @customEvent="customEvent">
|
||||
|
@ -45,8 +45,7 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
</el-form-item>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<dialogTable :config="cost_project" @customEvent="customEvent">
|
||||
@ -80,14 +79,7 @@ const mode = ref('add')
|
||||
const showDialog = ref(false)
|
||||
const showDialog3 = ref(false)
|
||||
const personnel = ref<any>()
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
Array.isArray(formData.annex) ? '' : formData.annex = []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
||||
// 删除上传的文件
|
||||
const delFileFn = (index: number) => { formData.annex.splice(index, 1) }
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑项目整改' : '新增项目整改'
|
||||
@ -141,7 +133,6 @@ const userclick = async (key) => {
|
||||
//确认
|
||||
const submituser = (e: any) => {
|
||||
formData[tableKey.value] = e.name
|
||||
// formData.project_change_visa_content[tableIndex.value][tableKey.value + '_id'] = e.id
|
||||
showDialog3.value = false
|
||||
}
|
||||
|
||||
@ -160,14 +151,6 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiProjectRectificationDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
// 提交按钮
|
||||
const handleSubmit = async () => {
|
||||
await formRef.value?.validate()
|
||||
@ -195,6 +178,5 @@ const handleClose = () => {
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
|
@ -45,8 +45,8 @@
|
||||
</el-form-item> </el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="合同附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -51,8 +51,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -68,8 +68,8 @@
|
||||
<el-col :span="24">
|
||||
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
|
||||
<!-- <el-upload
|
||||
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
||||
|
@ -78,8 +78,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<createUserLable :formData="formData" flag></createUserLable>
|
||||
|
@ -87,8 +87,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="project_name">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<div class="flex justify-end mt-4">
|
||||
<el-button type="primary" @click="handleAccept">确定</el-button>
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -42,8 +42,8 @@
|
||||
<el-input v-model="formData.review_opinions" clearable placeholder="请输入复核意见" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -132,8 +132,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<dialogTable @customEvent="customEvent" :config="supervision_project" />
|
||||
|
@ -20,8 +20,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="操作人">
|
||||
<el-input v-model="formData.create_user_name" clearable placeholder="请输入操作人" />
|
||||
|
@ -41,8 +41,8 @@
|
||||
<el-input v-model="formData.other_matters" clearable placeholder="请输入其他事项" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -62,8 +62,8 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -106,8 +106,8 @@
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
@ -115,8 +115,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
@ -107,8 +107,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -39,8 +39,8 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -36,8 +36,8 @@
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -44,8 +44,8 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -37,8 +37,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
<dialogTable @customEvent="customEvent" :config="supervision_project" />
|
||||
|
@ -26,8 +26,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
@ -180,8 +180,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -16,8 +16,8 @@
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
|
@ -24,8 +24,8 @@
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
@ -38,8 +38,8 @@
|
||||
<el-input v-model="formData.giver" clearable placeholder="请输入主送人" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -19,8 +19,8 @@
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -116,8 +116,8 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -16,8 +16,8 @@
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -14,8 +14,8 @@
|
||||
<el-input v-model="formData.doc_desc" clearable placeholder="请输入文档简介" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -127,8 +127,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -25,8 +25,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
|
@ -102,8 +102,8 @@
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<createUserLable :formData="formData" flag></createUserLable>
|
||||
|
@ -41,8 +41,8 @@
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
<createUserLable :formData="formData"></createUserLable>
|
||||
<el-dialog v-model="showDialog1" title="选择单位" width="70%">
|
||||
|
@ -66,8 +66,8 @@
|
||||
<createUserLable :formData="formData" flag></createUserLable>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -40,8 +40,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<createUserLable :formData="formData" flag></createUserLable>
|
||||
|
@ -39,8 +39,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="annex">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -34,8 +34,8 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件">
|
||||
<annexUpload :annex="formData.annex" @handleAvatarSuccess="handleAvatarSuccess_four"
|
||||
@delFile="delFileFn" />
|
||||
<uploadAnnex :formData="formData"></uploadAnnex>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -195,8 +195,6 @@
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -231,6 +229,7 @@ const showDialog3 = ref(false)
|
||||
const personnel = ref<any>()
|
||||
|
||||
const handleAvatarSuccess_four = (response: any) => {
|
||||
formData.annex ||= []
|
||||
// @ts-ignore
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user