This commit is contained in:
chenbo 2024-02-26 09:55:29 +08:00
parent d8b2cafc8c
commit 0b8c300ea2
3 changed files with 58 additions and 14 deletions

View File

@ -24,3 +24,8 @@ export function apiCostProjectDelete(params: any) {
export function apiCostProjectDetail(params: any) { export function apiCostProjectDetail(params: any) {
return request.get({ url: '/cost_project.cost_project/detail', params }) return request.get({ url: '/cost_project.cost_project/detail', params })
} }
// 造价项目台账下拉列表
export function apiCostProjectDatas(params: any) {
return request.get({ url: '/cost_project.cost_project/datas', params })
}

View File

@ -4,12 +4,12 @@
ref="popupRef" ref="popupRef"
:title="popupTitle" :title="popupTitle"
:async="true" :async="true"
width="550px" width="60%"
@confirm="handleSubmit" @confirm="handleSubmit"
@close="handleClose" @close="handleClose"
> >
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules"> <el-form ref="formRef" :inline="true" :model="formData" label-width="130px" :rules="formRules">
<el-form-item label="" prop="dataid"> <el-form-item label="标识" prop="dataid">
<el-input v-model="formData.dataid" clearable placeholder="请输入" /> <el-input v-model="formData.dataid" clearable placeholder="请输入" />
</el-form-item> </el-form-item>
<el-form-item label="单据编号" prop="num"> <el-form-item label="单据编号" prop="num">
@ -109,16 +109,16 @@
<el-input v-model="formData.bz" clearable placeholder="请输入备注" /> <el-input v-model="formData.bz" clearable placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="结果文件" prop="result_file"> <el-form-item label="结果文件" prop="result_file">
<material-picker v-model="formData.result_file" /> <material-picker :type="'file'" v-model="formData.result_file" />
</el-form-item> </el-form-item>
<el-form-item label="项目负责人附件" prop="master_annex"> <el-form-item label="项目负责人附件" prop="master_annex">
<material-picker v-model="formData.master_annex" /> <material-picker :type="'file'" v-model="formData.master_annex" />
</el-form-item> </el-form-item>
<el-form-item label="部门负责人附件" prop="bm_annex"> <el-form-item label="部门负责人附件" prop="bm_annex">
<material-picker v-model="formData.bm_annex" /> <material-picker :type="'file'" v-model="formData.bm_annex" />
</el-form-item> </el-form-item>
<el-form-item label="审核部附件" prop="shb_annex"> <el-form-item label="审核部附件" prop="shb_annex">
<material-picker v-model="formData.shb_annex" /> <material-picker :type="'file'" v-model="formData.shb_annex" />
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -132,6 +132,7 @@ import Popup from '@/components/popup/index.vue'
import { apiTaskHandlingThreeLevelReviewAdd, apiTaskHandlingThreeLevelReviewEdit, apiTaskHandlingThreeLevelReviewDetail } from '@/api/task_handling_three_level_review' import { apiTaskHandlingThreeLevelReviewAdd, apiTaskHandlingThreeLevelReviewEdit, apiTaskHandlingThreeLevelReviewDetail } from '@/api/task_handling_three_level_review'
import { timeFormat } from '@/utils/util' import { timeFormat } from '@/utils/util'
import type { PropType } from 'vue' import type { PropType } from 'vue'
import file from "@/components/material/file.vue";
defineProps({ defineProps({
dictData: { dictData: {
type: Object as PropType<Record<string, any[]>>, type: Object as PropType<Record<string, any[]>>,
@ -185,10 +186,10 @@ const formData = reactive({
kaigong: '', kaigong: '',
jungong: '', jungong: '',
bz: '', bz: '',
result_file: '', result_file: [],
master_annex: '', master_annex: [],
bm_annex: '', bm_annex: [],
shb_annex: '', shb_annex: [],
}) })

View File

@ -12,9 +12,25 @@
<el-form-item label="标识" prop="dataid"> <el-form-item label="标识" prop="dataid">
<el-input v-model="formData.dataid" clearable placeholder="请输入" /> <el-input v-model="formData.dataid" clearable placeholder="请输入" />
</el-form-item> </el-form-item>
<el-form-item label="项目id" prop="cost_project_id"> <el-form-item label="所属项目" prop="cost_project_id">
<el-input v-model="formData.cost_project_id" clearable placeholder="请输入项目id" /> <el-select
v-model="formData.cost_project_id"
remote
filterable
:remote-method="queryCostProject"
:loading="loading"
>
<el-option
v-for="(item, index) in optionsData.projectList"
:key="index"
:label="item.projectinfo"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="项目id" prop="cost_project_id">-->
<!-- <el-input v-model="formData.cost_project_id" clearable placeholder="请输入项目id" />-->
<!-- </el-form-item>-->
<el-form-item label="任务编号" prop="num"> <el-form-item label="任务编号" prop="num">
<el-input v-model="formData.num" clearable placeholder="请输入任务编号" /> <el-input v-model="formData.num" clearable placeholder="请输入任务编号" />
</el-form-item> </el-form-item>
@ -40,8 +56,9 @@
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 { apiTaskTypeAdd, apiTaskTypeEdit, apiTaskTypeDetail } from '@/api/task_type' import { apiTaskTypeAdd, apiTaskTypeEdit, apiTaskTypeDetail } from '@/api/task_type'
import { timeFormat } from '@/utils/util' import {useDictOptions} from "@/hooks/useDictOptions"
import type { PropType } from 'vue' import type { PropType } from 'vue'
import {apiCostProjectDatas} from "@/api/cost_project";
defineProps({ defineProps({
dictData: { dictData: {
type: Object as PropType<Record<string, any[]>>, type: Object as PropType<Record<string, any[]>>,
@ -79,6 +96,27 @@ const formRules = reactive<any>({
}) })
const { optionsData } = useDictOptions<{
projectList: any[]
}>({
projectList: {
api: apiCostProjectDatas,
}
})
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 setFormData = async (data: Record<any, any>) => { const setFormData = async (data: Record<any, any>) => {
for (const key in formData) { for (const key in formData) {