This commit is contained in:
zmj 2024-03-15 11:24:45 +08:00
parent b9edbebab9
commit 7496b7967e
13 changed files with 373 additions and 239 deletions

BIN
dist.rar

Binary file not shown.

View File

@ -31,6 +31,7 @@ const props = defineProps({
const list = ref("")
onMounted(() => {
if (!props.api) return
props.api(props.query).then(res => {
list.value = res
})

View File

@ -2,7 +2,7 @@
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-form ref="formRef" :model="formData" label-width="160px" :rules="formRules">
<el-row>
<el-col :span="8">
<el-form-item label="合同名称" prop="contract_name">
@ -25,7 +25,7 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="甲方签约单位" prop="part_a" label-width="120px">
<el-form-item label="甲方签约单位" prop="part_a">
<el-input v-model="formData.part_a" clearable placeholder="请输入甲方签约单位" />
</el-form-item>
</el-col>
@ -43,7 +43,7 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="乙方签约单位" prop="part_b" label-width="120px">
<el-form-item label="乙方签约单位" prop="part_b">
<el-input v-model="formData.part_b" clearable placeholder="请输入乙方签约单位" />
</el-form-item>
</el-col>
@ -99,12 +99,13 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工程规模及概况" prop="project_scale" label-width="140px">
<el-input v-model="formData.project_scale" clearable placeholder="请输入工程规模及概况" />
<el-form-item label="工程规模及概况" prop="project_scale">
<el-input v-model="formData.project_scale" clearable placeholder="请输入工程规模及概况"
type="textarea" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订金额(元)" prop="money" label-width="120px">
<el-form-item label="签订金额(元)" prop="money">
<el-input v-model="formData.money" clearable placeholder="请输入签订金额(元)" />
</el-form-item>
</el-col>
@ -112,18 +113,18 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="合同服务工期" prop="contract_service" label-width="120px">
<el-form-item label="合同服务工期" prop="contract_service">
<el-input v-model="formData.contract_service" clearable placeholder="请输入合同服务工期" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同签订费率(%)" prop="rate" label-width="140px">
<el-form-item label="合同签订费率(%)" prop="rate">
<el-input v-model="formData.rate" clearable placeholder="请输入合同签订费率(%)" type="number" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同计划开始日期" prop="start_date" label-width="160px">
<el-form-item label="合同计划开始日期" prop="start_date">
<el-date-picker class="flex-1 !flex" v-model="formData.start_date" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
</el-date-picker>
@ -133,20 +134,20 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="合同计划结束日期" prop="end_date" label-width="160px">
<el-form-item label="合同计划结束日期" prop="end_date">
<el-date-picker class="flex-1 !flex" v-model="formData.end_date" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同履约金(元)" prop="performance" label-width="140px">
<el-form-item label="合同履约金(元)" prop="performance">
<el-input v-model="formData.performance" clearable placeholder="请输入合同履约金(元)"
type="number" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="履约金到期时间" prop="due_time" label-width="124px">
<el-form-item label="履约金到期时间" prop="due_time">
<el-date-picker class="flex-1 !flex" v-model="formData.due_time" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
</el-date-picker>
@ -156,12 +157,12 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="合同付款方式" prop="payment" label-width="120px">
<el-form-item label="合同付款方式" prop="payment">
<el-input v-model="formData.payment" clearable placeholder="请输入合同付款方式" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同主要内容" prop="content" label-width="120px">
<el-form-item label="合同主要内容" prop="content">
<el-input v-model="formData.content" clearable placeholder="请输入合同主要内容" />
</el-form-item>
</el-col>
@ -186,7 +187,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订负责人" prop="signing_person" label-width="100px">
<el-form-item label="签订负责人" prop="signing_person">
<el-input v-model="formData.signing_person" clearable placeholder="请输入签订负责人" />
</el-form-item>
</el-col>
@ -199,7 +200,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目总监/经理" prop="project_director" label-width="140px">
<el-form-item label="项目总监/经理" prop="project_director">
<el-input v-model="formData.project_director" clearable placeholder="请输入项目总监/经理" />
</el-form-item>
</el-col>
@ -283,7 +284,7 @@
</el-row>
<el-form-item label="附件">
<uploadAnnex :formData="formData"></uploadAnnex>
<uploadAnnex :formData="formData"></uploadAnnex>
</el-form-item>
</el-form>

View File

@ -1,49 +1,72 @@
<template>
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="合同名称" prop="contract_name">
<el-input class="w-[280px]" v-model="queryParams.contract_name" clearable placeholder="请输入合同名称" />
</el-form-item>
<el-form-item label="合同编号" prop="contract_num">
<el-input class="w-[280px]" v-model="queryParams.contract_num" clearable placeholder="请输入合同编号" />
</el-form-item>
<el-form-item label="甲方签约单位" prop="part_a">
<el-input class="w-[280px]" v-model="queryParams.part_a" clearable placeholder="请输入甲方签约单位" />
</el-form-item>
<el-form-item label="乙方签约单位" prop="part_b">
<el-input class="w-[280px]" v-model="queryParams.part_b" clearable placeholder="请输入乙方签约单位" />
</el-form-item>
<el-form-item label="业务性质" prop="business_nature">
<el-select class="w-[280px]" v-model="queryParams.business_nature" clearable placeholder="请选择业务性质">
<el-option v-for="(item, index) in dictData.cost_consultation_business_nature" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="行业性质" prop="industry_nature">
<el-select class="w-[280px]" v-model="queryParams.industry_nature" clearable placeholder="请选择行业性质">
<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-form-item label="资金来源" prop="fund_sources" label-width="100px">
<el-select class="w-[280px]" v-model="queryParams.fund_sources" clearable placeholder="请选择资金来源">
<el-option v-for="(item, index) in dictData.cost_consultation_fund_sources" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="建设区域" prop="const_area" label-width="100px">
<el-select class="w-[280px]" v-model="queryParams.const_area" clearable placeholder="请选择建设区域">
<el-option v-for="(item, index) in dictData.cost_consultation_const_area" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
<export-data class="ml-2.5" :fetch-fun="apiCostApprovedProjectLists" :params="queryParams"
:page-size="pager.size" />
</el-form-item>
<el-form class="mb-[-16px]" :model="queryParams" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="合同名称" prop="contract_name">
<el-input v-model="queryParams.contract_name" clearable placeholder="请输入合同名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="合同编号" prop="contract_num">
<el-input v-model="queryParams.contract_num" clearable placeholder="请输入合同编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="甲方签约单位" prop="part_a">
<el-input v-model="queryParams.part_a" clearable placeholder="请输入甲方签约单位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="乙方签约单位" prop="part_b">
<el-input v-model="queryParams.part_b" clearable placeholder="请输入乙方签约单位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="业务性质" prop="business_nature">
<el-select class="flex-1" v-model="queryParams.business_nature" clearable
placeholder="请选择业务性质">
<el-option v-for="(item, index) in dictData.cost_consultation_business_nature"
:key="index" :label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="行业性质" prop="industry_nature">
<el-select class="flex-1" v-model="queryParams.industry_nature" clearable
placeholder="请选择行业性质">
<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>
<el-col :span="6">
<el-form-item label="资金来源" prop="fund_sources">
<el-select class="flex-1" v-model="queryParams.fund_sources" clearable
placeholder="请选择资金来源">
<el-option v-for="(item, index) in dictData.cost_consultation_fund_sources" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="建设区域" prop="const_area">
<el-select class="flex-1" v-model="queryParams.const_area" clearable placeholder="请选择建设区域">
<el-option v-for="(item, index) in dictData.cost_consultation_const_area" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
<export-data class="ml-2.5" :fetch-fun="apiCostApprovedProjectLists" :params="queryParams"
:page-size="pager.size" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">

View File

@ -1,8 +1,8 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="60vw" @confirm="handleSubmit"
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
<el-row>
<el-col :span="8">
<el-form-item label="项目编号" prop="project_num">
@ -32,7 +32,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="行业" prop="industry">
<el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1">
<el-select v-model="formData.industry" clearable placeholder="请选择行业" class="flex-1"
disabled>
<el-option v-for="(
item, index
) in dictData.cost_consultation_industry_nature" :key="index" :label="item.name"
@ -67,7 +68,7 @@
<el-col :span="8">
<el-form-item label="计划开始日期" prop="starting" label-width="120px">
<el-date-picker class="flex-1 !flex" v-model="formData.starting" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
value-format="YYYY-MM-DD" placeholder="请选择日期" disabled>
</el-date-picker>
</el-form-item>
</el-col>
@ -76,7 +77,7 @@
<el-col :span="8">
<el-form-item label="计划结束日期" prop="endtime" label-width="120px">
<el-date-picker class="flex-1 !flex" v-model="formData.endtime" clearable type="date"
value-format="YYYY-MM-DD" placeholder="请选择日期">
value-format="YYYY-MM-DD" placeholder="请选择日期" disabled>
</el-date-picker>
</el-form-item>
</el-col>
@ -101,7 +102,7 @@
<el-col :span="8">
<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" />
@ -109,9 +110,9 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目负责人" prop="principal" label-width="100px">
<el-form-item label="项目负责人" prop="principal">
<el-input v-model="formData.principal" clearable placeholder="请输入项目负责人"
@click="userclick('principal')" />
@click="userclick('principal')" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
@ -123,8 +124,9 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="项目总投资" prop="invest" label-width="100px">
<el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(万元)" type="number" />
<el-form-item label="项目总投资" prop="invest">
<el-input v-model="formData.invest" clearable placeholder="请输入项目总投资(万元)" type="number"
disabled />
</el-form-item>
</el-col>
<el-col :span="8">
@ -146,12 +148,12 @@
</el-col>
<el-col :span="8">
<el-form-item label="委托单位" prop="aunit">
<el-input v-model="formData.aunit" clearable placeholder="请输入委托单位" />
<el-input v-model="formData.aunit" clearable placeholder="请输入委托单位" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="委托方联系人" prop="Acontact" label-width="120px">
<el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人" />
<el-input v-model="formData.Acontact" clearable placeholder="请输入委托方联系人" disabled />
</el-form-item>
</el-col>
</el-row>
@ -170,7 +172,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="项目规模及概括" prop="generalize" label-width="120px">
<el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" />
<el-input v-model="formData.generalize" clearable placeholder="请输入项目规模及概括" disabled
type="textarea" />
</el-form-item>
</el-col>
</el-row>
@ -217,7 +220,7 @@ 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 { apiCityList, apiProvinceList } from "@/api/common";
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
@ -261,7 +264,7 @@ const formData = reactive({
principal: "",
principal_id: "",
person: "",
person_id: "",
person_text: "",
invest: "",
budget: "",
cost: "",
@ -301,6 +304,17 @@ const datas = reactive({
const customEvent = (e) => {
formData.contract_id = e.id;
formData.contract_name = e.contract_name;
formData.industry = e.industry_nature
formData.starting = e.start_date
formData.endtime = e.end_date
formData.principal = e.signing_person
formData.invest = e.project_money
formData.aunit = e.part_a
formData.generalize = e.project_scale
formData.Acontact = e.part_a_contract
// part_a_contract
showDialog.value = false;
};
@ -421,7 +435,6 @@ const userclick = async (e: any) => {
personnel.value.open();
};
const label = ref("");
const persoleType = ref("1");
//
const submituser = (e: any) => {
@ -429,19 +442,14 @@ const submituser = (e: any) => {
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;
console.log(personl_id, "personl_id");
personl_id = flag ? e.map((item) => item.id) : e.id;
if (flag) {
formData.person = personl;
formData.person_id = personl_id;
formData.person_text = personl;
formData.person = personl_id;
} else {
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;
};

View File

@ -1,32 +1,47 @@
<template>
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="材料/设备名称" prop="name">
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入材料/设备名称" />
</el-form-item>
<el-form-item label="材料/设备品牌" prop="brand">
<el-input class="w-[280px]" v-model="queryParams.brand" clearable placeholder="请输入材料/设备品牌" />
</el-form-item>
<el-form-item label="型号" prop="model">
<el-input class="w-[280px]" v-model="queryParams.model" clearable placeholder="请输入型号" />
</el-form-item>
<el-form-item label="合同约定品牌" prop="contract_brand">
<el-select v-model="queryParams.contract_brand">
<el-option label="否" value="0"></el-option>
<el-option label="是" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="类型" prop="type">
<el-select v-model="queryParams.type">
<el-option label="材料" value="0"></el-option>
<el-option label="设备" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
<el-form class="mb-[-16px]" :model="queryParams" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="材料/设备名称" prop="name">
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入材料/设备名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="材料/设备品牌" prop="brand">
<el-input class="w-[280px]" v-model="queryParams.brand" clearable
placeholder="请输入材料/设备品牌" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="型号" prop="model">
<el-input class="w-[280px]" v-model="queryParams.model" clearable placeholder="请输入型号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="合同约定品牌" prop="contract_brand">
<el-select class='flex-1' v-model="queryParams.contract_brand">
<el-option label="否" value="0"></el-option>
<el-option label="是" value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="类型" prop="type">
<el-select class='flex-1' v-model="queryParams.type">
<el-option label="材料" value="0"></el-option>
<el-option label="设备" value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
@ -138,4 +153,3 @@ const handleDelete = async (id: number | any[]) => {
getLists()
</script>

View File

@ -3,7 +3,10 @@
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
<el-form-item label="项目名称" prop="project_id">
<el-form-item label="项目名称" prop="project_name">
<el-input v-model="formData.project_name" clearable placeholder="点击选择项目" readonly
@click="showDialog = true" />
</el-form-item>

View File

@ -2,27 +2,44 @@
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-row>
<el-col :span="6">
<el-form-item label="监控设备名称" prop="device_name">
<el-input class="w-[280px]" v-model="queryParams.device_name" clearable
placeholder="请输入监控设备名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备类型" prop="device_type">
<el-select class="w-[280px]" v-model="queryParams.device_type" clearable
placeholder="请选择设备类型">
<el-option v-for="(item, index) in dictData.device_type" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="设备序列号" prop="device_sn">
<el-input class="w-[280px]" v-model="queryParams.device_sn" clearable
placeholder="请输入设备序列号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="编号" prop="number">
<el-input class="w-[280px]" v-model="queryParams.number" clearable placeholder="请输入编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="监控设备名称" prop="device_name">
<el-input class="w-[280px]" v-model="queryParams.device_name" clearable placeholder="请输入监控设备名称" />
</el-form-item>
<el-form-item label="设备类型" prop="device_type">
<!-- <el-input class="w-[280px]" v-model="queryParams.device_type" clearable placeholder="请输入设备类型" /> -->
<el-select class="w-[280px]" v-model="queryParams.device_type" clearable placeholder="请选择设备类型">
<el-option v-for="(item, index) in dictData.device_type" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="设备序列号" prop="device_sn">
<el-input class="w-[280px]" v-model="queryParams.device_sn" clearable placeholder="请输入设备序列号" />
</el-form-item>
<el-form-item label="编号" prop="number">
<el-input class="w-[280px]" v-model="queryParams.number" clearable placeholder="请输入编号" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
@ -130,4 +147,3 @@ const handleDelete = async (id: number | any[]) => {
getLists()
</script>

View File

@ -2,25 +2,42 @@
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="专项审批类型" prop="approval_type">
<el-select class="w-[280px]" v-model="queryParams.approval_type" clearable placeholder="请选择专项审批类型">
<el-option v-for="(item, index) in dictData.supervision_planning_approval_type" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="评审人员" prop="approval_user">
<el-input class="w-[280px]" v-model="queryParams.approval_user" clearable placeholder="请输入评审人员" />
</el-form-item>
<el-form-item label="方案名称" prop="scheme_name">
<el-input class="w-[280px]" v-model="queryParams.scheme_name" clearable placeholder="请输入方案名称" />
</el-form-item>
<el-form-item label="创建人" prop="create_user">
<el-input class="w-[280px]" v-model="queryParams.create_user" clearable placeholder="请输入创建人" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="专项审批类型" prop="approval_type">
<el-select class="w-[280px]" v-model="queryParams.approval_type" clearable
placeholder="请选择专项审批类型">
<el-option v-for="(item, index) in dictData.supervision_planning_approval_type"
:key="index" :label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="评审人员" prop="approval_user">
<el-input class="w-[280px]" v-model="queryParams.approval_user" clearable
placeholder="请输入评审人员" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="方案名称" prop="scheme_name">
<el-input class="w-[280px]" v-model="queryParams.scheme_name" clearable
placeholder="请输入方案名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="创建人" prop="create_user">
<el-input class="w-[280px]" v-model="queryParams.create_user" clearable
placeholder="请输入创建人" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
@ -45,7 +62,6 @@
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
<el-table-column label="创建人" prop="create_user" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['supervision_prepare.supervision_planning/edit']" type="primary" link
@click="handleEdit(row)">

View File

@ -2,7 +2,8 @@
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules" :disabled="mode == 'detail'">
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules"
:disabled="mode == 'detail'">
<el-row>
<el-col :span="8">
<el-form-item label="项目名称" prop="project_name">

View File

@ -1,44 +1,65 @@
<template>
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="项目名称" prop="project_name">
<el-input class="w-[280px]" v-model="queryParams.project_name" clearable placeholder="请输入项目名称" />
</el-form-item>
<el-form-item label="项目编号" prop="project_code">
<el-input class="w-[280px]" v-model="queryParams.project_code" clearable placeholder="请输入项目编号" />
</el-form-item>
<el-form-item label="行业" prop="industry">
<el-select class="w-[280px]" v-model="queryParams.industry" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="性质" prop="nature">
<el-select class="w-[280px]" v-model="queryParams.nature" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_nature" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="建设单位" prop="build_unit">
<el-input class="w-[280px]" v-model="queryParams.build_unit" clearable placeholder="请输入建设单位" />
</el-form-item>
<el-form-item label="项目等级" prop="project_level">
<el-select class="w-[280px]" v-model="queryParams.project_level" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_level" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="工程状态" prop="engineering_status">
<el-select class="w-[280px]" v-model="queryParams.engineering_status" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_status" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
<el-form class="mb-[-16px]" :model="queryParams" label-width="80px">
<el-row>
<el-col :span="6">
<el-form-item label="项目名称" prop="project_name">
<el-input v-model="queryParams.project_name" clearable placeholder="请输入项目名称" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目编号" prop="project_code">
<el-input v-model="queryParams.project_code" clearable placeholder="请输入项目编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="行业" prop="industry">
<el-select class="flex-1" v-model="queryParams.industry" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_industry" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="性质" prop="nature">
<el-select class="flex-1" v-model="queryParams.nature" clearable placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_nature" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="建设单位" prop="build_unit">
<el-input v-model="queryParams.build_unit" clearable placeholder="请输入建设单位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目等级" prop="project_level">
<el-select class=" flex-1" v-model="queryParams.project_level" clearable
placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_level" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工程状态" prop="engineering_status">
<el-select class=" flex-1" v-model="queryParams.engineering_status" clearable
placeholder="请选择行业">
<el-option v-for="(item, index) in dictData.supervision_project_status" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">

View File

@ -2,28 +2,44 @@
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="试验类型" prop="test_type">
<el-input class="w-[280px]" v-model="queryParams.test_type" clearable placeholder="请输入试验类型" />
</el-form-item>
<el-form-item label="编号" prop="code">
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编号" />
</el-form-item>
<el-form-item label="见证人" prop="witness">
<el-input class="w-[280px]" v-model="queryParams.witness" clearable placeholder="请输入见证人" />
</el-form-item>
<el-form-item label="试验部位" prop="test_site">
<el-input class="w-[280px]" v-model="queryParams.test_site" clearable placeholder="请输入试验部位" />
</el-form-item>
<el-form-item label="试验结果" prop="test_result">
<el-select v-model="queryParams.test_result">
<el-option label="符合标准" value="0"></el-option>
<el-option label="不符合标准" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="试验类型" prop="test_type">
<el-input class="w-[280px]" v-model="queryParams.test_type" clearable
placeholder="请输入试验类型" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="编号" prop="code">
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="见证人" prop="witness">
<el-input class="w-[280px]" v-model="queryParams.witness" clearable placeholder="请输入见证人" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="试验部位" prop="test_site">
<el-input class="w-[280px]" v-model="queryParams.test_site" clearable
placeholder="请输入试验部位" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="试验结果" prop="test_result">
<el-select class='flex-1' v-model="queryParams.test_result">
<el-option label="符合标准" value="0"></el-option>
<el-option label="不符合标准" value="1"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">

View File

@ -2,26 +2,41 @@
<div>
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="来源单据" prop="material_entry_id">
<el-input class="w-[280px]" v-model="queryParams.material_entry_id" clearable placeholder="请输入来源单据" />
</el-form-item>
<el-form-item label="编号" prop="code">
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编号" />
</el-form-item>
<el-form-item label="见证人" prop="witness">
<el-input class="w-[280px]" v-model="queryParams.witness" clearable placeholder="请输入见证人" />
</el-form-item>
<el-form-item label="取样人" prop="sampler">
<el-input class="w-[280px]" v-model="queryParams.sampler" clearable placeholder="请输入取样人" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
<el-row>
<el-col :span="6">
<el-form-item label="来源单据">
<!-- <el-input class="w-[280px]" v-model="queryParams.material_entry_id" clearable
placeholder="请输入来源单据" /> -->
<select-remote :formData="queryParams" model="material_entry_id"></select-remote>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="编号" prop="code">
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="见证人" prop="witness">
<el-input class="w-[280px]" v-model="queryParams.witness" clearable placeholder="请输入见证人" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="取样人" prop="sampler">
<el-input class="w-[280px]" v-model="queryParams.sampler" clearable placeholder="请输入取样人" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-button v-perms="['supervision_work.supervision_witness_sampling/add']" type="primary" @click="handleAdd">
<el-button v-perms="['supervision_work.supervision_witness_sampling/add']" type="primary"
@click="handleAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
@ -44,19 +59,19 @@
<el-table-column label="取样人" prop="sampler" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['supervision_work.supervision_witness_sampling/edit']" type="primary" link
@click="handleEdit(row)">
<el-button v-perms="['supervision_work.supervision_witness_sampling/edit']" type="primary"
link @click="handleEdit(row)">
编辑
</el-button>
<el-button v-perms="['supervision_work.supervision_witness_sampling/delete']" type="danger" link
@click="handleDelete(row.id)">
<el-button v-perms="['supervision_work.supervision_witness_sampling/delete']" type="danger"
link @click="handleDelete(row.id)">
删除
</el-button>
<router-link :to="{
path: '/supervision/supervision_work/supervision_witness_sampling_detail',
query: { id: row.id }
}">
path: '/supervision/supervision_work/supervision_witness_sampling_detail',
query: { id: row.id }
}">
<el-button type="primary" link>
明细
</el-button>
@ -146,4 +161,3 @@ const handleDelete = async (id: number | any[]) => {
getLists()
</script>