提交 19aea50d authored 作者: gjx's avatar gjx

土壤

上级 e115e7eb
......@@ -122,7 +122,10 @@ export const delGkxf = (params) => {
export const psOrZxps = (params) => {
return defHttp.post({ url: `/dklc/psOrZxps`, params });
}
// 点击不评审接口
// 地块管理土壤环境质量信息
export const updateTrhjzlxx = (params, success) => {
return defHttp.uploadFile({ url: `/dklc/updateTrhjzlxx` }, params, { success });
};
/**
* 上传父路径
......@@ -210,6 +213,8 @@ export const getHylb = (params) => {
export const uploadFile = (params, success) => {
return defHttp.uploadFile({ url: uploadUrl }, params, { success });
};
/**
* 下载文件
* @param url 文件路径
......
......@@ -107,7 +107,31 @@ const formSchemas: FormSchema[] = [
field: 'dkpic',
required: true,
component: 'JUpload',
componentProps: ({ formModel, formActionType }) => {
componentProps: () => {
return {
showUploadList: false,
returnUrl: true,
onChange: async (v) => {
const arry = v.split(',')
upLoad({
wrdkid: props.data.wrdkid,
id: props.data.id,
dkpic: arry[arry.length - 1]
})
},
}
},
},
{
label: '详细调查检测数据表格',
field: 'xxdcjcsjbg',
show: () => {
return props.labelFirst == '详细调查' ? true : false
},
required: true,
component: 'JUpload',
componentProps: () => {
return {
showUploadList: false,
returnUrl: true,
......@@ -125,7 +149,7 @@ const formSchemas: FormSchema[] = [
},
];
const [registerForm, { getFieldsValue, setFieldsValue, resetFields, validate }] = useForm({
const [registerForm, { setFieldsValue }] = useForm({
//注册表单列
schemas: formSchemas,
//不显示查询和重置按钮
......
......@@ -170,7 +170,19 @@ watch(
}, { deep: true, immediate: true }
);
//
// 获取子组件 列表
async function getFormValueTr() {
//获取所有值
const fieldsValue = await getFieldsValue();
return fieldsValue
}
// 通过ref必须把在父组件里面的方法导出
defineExpose({
getFormValueTr,
})
</script>
......
......@@ -109,12 +109,26 @@ const formSchemas: FormSchema[] = [
{
label: '土地使用权人类型',
field: 'tdsyqrlx',
component: 'JDictSelectTag',
component: 'Select',
componentProps: {
//字典code配置,比如通过性别字典编码:sex,也可以使用demo,name,id 表名,名称,值的方式
dictCode: 'dk_tdsyqr',
//支持radio(单选按钮)、radioButton(单选按钮 btn风格)、select(下拉框)
type: 'select'
options: [
{
label: '土地使用权人(企业)',
value: '1',
},
{
label: '土地使用权人(自然人)',
value: '2',
},
{
label: '政府',
value: '3',
},
{
label: '无主',
value: '4',
},
],
},
},
{
......@@ -125,7 +139,7 @@ const formSchemas: FormSchema[] = [
{
label: '企业名称',
field: 'syqdwmc',
component: 'InputNumber',
component: 'Input',
},
{
label: '取得土地使用权日期',
......
<!-- 表单布局 -->
<template>
<!-- 自定义表单 -->
<BasicForm @register="registerForm">
</BasicForm>
</template>
<script lang="ts" setup>
//引入依赖
import { nextTick, watch, toRaw } from 'vue'
import { useForm, BasicForm, FormSchema } from '/@/components/Form';
const props = defineProps({
labelFirst: {
type: String,
default: '初步'
},
data: {
type: Object,
default: {}
}
})
//自定义表单字段
const formSchemas: FormSchema[] = [
{
label: '污染地块id',
field: 'wrdkid',
component: 'Input',
show: false
},
{
label: 'id',
field: 'id',
component: 'Input',
show: false
},
{
label: '风险管控范围(m2)',
field: 'bt',
component: 'InputNumber',
},
];
/**
* BasicForm绑定注册;
*/
const [registerForm, { getFieldsValue, setFieldsValue }] = useForm({
//注册表单列
schemas: formSchemas,
//不显示查询和重置按钮
showActionButtonGroup: false,
//默认row行配置,当 layout 为 horizontal 生效
rowProps: { gutter: 24, justify: 'start', align: 'middle' },
//全局col列占比(每列显示多少位),和schemas中的colProps属性一致
baseColProps: { span: 12 },
//使用labelCol的样式参数来控制标题宽度
labelCol: { style: { width: '252px' } },
//row行的样式
baseRowStyle: { width: '100%' },
//表单布局属性,支持(vertical,horizontal),默认为horizontal
layout: 'horizontal',
});
watch(
() => props.data,
async (val: any) => {
val && nextTick(async () => {
await setFieldsValue({
...val,
});
});
}, { deep: true, immediate: true }
);
// 获取子组件 列表
async function getFormValueFxpg() {
console.log('子组件执行');
//获取所有值
let fieldsValue = await getFieldsValue();
return fieldsValue
}
// 通过ref必须把在父组件里面的方法导出
defineExpose({
getFormValueFxpg,
})
</script>
<style scoped>
/** 时间和数字输入框样式 */
:deep(.ant-input-number) {
width: 100%;
}
:deep(.ant-picker) {
width: 100%;
}
/* :deep(.ant-radio-wrapper) {
width: 120px;
text-align: left;
} */
</style>
\ No newline at end of file
<!-- 表单布局 -->
<template>
<!-- 自定义表单 -->
<BasicForm @register="registerForm">
<template #gstype="{ model, field }">
<!-- 如果是组件需要进行双向绑定,model当前表单对象,field当前字段名称 -->
<a-radio-group v-model:value="model[field]" style="display: flex;justify-content: space-between;">
<a-radio :value="1" :style="{ 'height': '30px', 'lineHeight': '30px', 'width': '60px' }"
@change="model['qt'] = ''">网址</a-radio>
<a-input v-model:value="model['gswz']" placeholder="请输入网址" :disabled="model[field] != 1"
style="width:40%" />
<a-radio :value="3" :style="{ 'height': '30px', 'lineHeight': '30px', 'width': '60px' }"
@change="model['gswz'] = ''">其它</a-radio>
<a-input v-model:value="model['qt']" placeholder="请输入信息" :disabled="model[field] != 3" style="width:40%" />
</a-radio-group>
</template>
</BasicForm>
</template>
<script lang="ts" setup>
//引入依赖
import { nextTick, watch, toRaw } from 'vue'
import { useForm, BasicForm, FormSchema } from '/@/components/Form';
const props = defineProps({
labelFirst: {
type: String,
default: '初步'
},
data: {
type: Object,
default: {}
}
})
//自定义表单字段
const formSchemas: FormSchema[] = [
{
label: '污染地块id',
field: 'wrdkid',
component: 'Input',
show: false
},
{
label: 'id',
field: 'id',
component: 'Input',
show: false
},
{
label: '网址',
field: 'gswz',
component: 'Input',
show: false
},
{
label: '风险管控效果评估报告标题',
field: 'bt',
component: 'Input',
},
{
label: '风险管控效果评估报告编制完成日期',
field: 'fxpgwcsj',
required: true,
component: 'DatePicker',
componentProps: {
//日期格式化,页面上显示的值
format: 'YYYY-MM-DD',
//返回值格式化(绑定值的格式)
valueFormat: 'YYYY-MM-DD',
//是否显示今天按钮
showToday: true,
},
},
{
label: '公示',
field: 'gkfs',
component: 'JDictSelectTag',
required: true,
slot: 'gstype',
colProps: { span: 24 },
},
{
label: '其他',
field: 'qt',
component: 'JDictSelectTag',
show: false
},
];
/**
* BasicForm绑定注册;
*/
const [registerForm, { getFieldsValue, setFieldsValue }] = useForm({
//注册表单列
schemas: formSchemas,
//不显示查询和重置按钮
showActionButtonGroup: false,
//默认row行配置,当 layout 为 horizontal 生效
rowProps: { gutter: 24, justify: 'start', align: 'middle' },
//全局col列占比(每列显示多少位),和schemas中的colProps属性一致
baseColProps: { span: 12 },
//使用labelCol的样式参数来控制标题宽度
labelCol: { style: { width: '252px' } },
//row行的样式
baseRowStyle: { width: '100%' },
//表单布局属性,支持(vertical,horizontal),默认为horizontal
layout: 'horizontal',
});
watch(
() => props.data,
async (val: any) => {
val && nextTick(async () => {
const obj = toRaw(val)
if (obj.gkfs == 3) {
obj.qt = val.gswz
obj.gswz = ''
}
await setFieldsValue({
...obj,
});
});
}, { deep: true, immediate: true }
);
// 获取子组件 列表
async function getFormValueFxpg() {
console.log('子组件执行');
//获取所有值
let fieldsValue = await getFieldsValue();
if (fieldsValue.gkfs == 3) {
fieldsValue.gswz = fieldsValue.qt
delete fieldsValue.qt
} else delete fieldsValue.qt
return fieldsValue
}
// 通过ref必须把在父组件里面的方法导出
defineExpose({
getFormValueFxpg,
})
</script>
<style scoped>
/** 时间和数字输入框样式 */
:deep(.ant-input-number) {
width: 100%;
}
:deep(.ant-picker) {
width: 100%;
}
/* :deep(.ant-radio-wrapper) {
width: 120px;
text-align: left;
} */
</style>
\ No newline at end of file
......@@ -31,8 +31,12 @@ const props = defineProps({
data: {
type: Object,
default: {}
},
dclx: {
type: String,
}
})
const emit = defineEmits('getjxsmdc')
//自定义表单字段
const formSchemas: FormSchema[] = [
{
......@@ -106,6 +110,9 @@ const formSchemas: FormSchema[] = [
label: '调查方式',
field: 'RadioGroup',
defaultValue: '0',
show: () => {
return props.dclx == '1' ? true : false
},
component: 'RadioGroup',
componentProps: {
options: [
......@@ -120,11 +127,29 @@ const formSchemas: FormSchema[] = [
],
},
},
{
label: '是否只进行调查第一阶段',
field: 'jxsmdc',
component: 'RadioGroup',
show: () => {
return props.dclx == '1' ? true : false
},
componentProps: {
options: [
{ label: '否', value: '0' },
{ label: '是', value: '1' },
],
onChange: (v) => {
emit('getjxsmdc', v.target.value)
}
},
},
];
/**
* BasicForm绑定注册;
*/
const [registerForm, { getFieldsValue, setFieldsValue, resetFields, validate }] = useForm({
const [registerForm, { getFieldsValue, setFieldsValue }] = useForm({
//注册表单列
schemas: formSchemas,
//不显示查询和重置按钮
......@@ -134,7 +159,7 @@ const [registerForm, { getFieldsValue, setFieldsValue, resetFields, validate }]
//全局col列占比(每列显示多少位),和schemas中的colProps属性一致
baseColProps: { span: 12 },
//使用labelCol的样式参数来控制标题宽度
labelCol: { style: { width: '150px' } },
labelCol: { style: { width: '180px' } },
//row行的样式
baseRowStyle: { width: '100%' },
//表单布局属性,支持(vertical,horizontal),默认为horizontal
......@@ -144,6 +169,7 @@ watch(
() => props.data,
async (val: any) => {
val && nextTick(async () => {
console.log(val, 'vak')
await setFieldsValue({
...val,
});
......
......@@ -13,8 +13,12 @@ const props = defineProps({
data: {
type: Object
},
isRead: {
type: Boolean,
default: false
}
})
const isRead = ref(false)
//自定义表单字段
const formSchemas: FormSchema[] = [
{
......@@ -35,43 +39,67 @@ const formSchemas: FormSchema[] = [
label: '单位名称',
field: 'syqdwmc',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '统一社会信用代码',
field: 'gsyyzzh',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '法定代表人/负责人姓名',
field: 'frdb',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '住所',
field: 'wrdkdz',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '联系人',
field: 'lxr',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '联系电话',
field: 'lxdh',
component: 'InputNumber',
componentProps: {
disabled: isRead.value
}
},
{
label: '直接负责的主管人员',
field: 'zjzgfzry',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
label: '其他直接责任人员',
field: 'qtzgfzry',
component: 'Input',
componentProps: {
disabled: isRead.value
}
},
{
......@@ -79,6 +107,9 @@ const formSchemas: FormSchema[] = [
field: 'wthtje',
component: 'InputNumber',
suffix: '万元',
componentProps: {
disabled: isRead.value
}
},
];
/**
......@@ -103,7 +134,6 @@ const [registerForm, { getFieldsValue, setFieldsValue, resetFields, validate }]
watch(
() => props?.data?.id,
async (val: any) => {
console.log(val, 'zoujib')
if (val) {
await nextTick()
await setFieldsValue({
......@@ -116,6 +146,14 @@ watch(
}, { deep: true, immediate: true }
);
watch(
() => props?.isRead,
async (val: any) => {
await nextTick()
isRead.value = val
}, { deep: true, immediate: true }
);
const fieldsValue = ref<any>({})
// 获取子组件 列表
async function getFormValueBz() {
......
......@@ -53,7 +53,7 @@ const transform: AxiosTransform = {
// 这里 code,result,message为 后台统一的字段,需要在 types.ts内修改为项目自己的接口返回格式
const { code, result, message, success } = data;
// 这里逻辑可以根据项目进行修改
const hasSuccess = data && Reflect.has(data, 'code') && (code === ResultEnum.SUCCESS || code === 200|| code === 2000);
const hasSuccess = data && Reflect.has(data, 'code') && (code === ResultEnum.SUCCESS || code === 200 || code === 2000);
if (hasSuccess) {
if (success && message && options.successMessageMode === 'success') {
//信息成功提示
......@@ -66,7 +66,7 @@ const transform: AxiosTransform = {
});
}
else
createMessage.success(message);
createMessage.success(message);
}
return result;
}
......@@ -246,7 +246,7 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
// authentication schemes,e.g: Bearer
// authenticationScheme: 'Bearer',
authenticationScheme: '',
timeout: 10 * 1000,
timeout: 30 * 1000,
// 基础接口地址
// baseURL: globSetting.apiUrl,
headers: { 'Content-Type': ContentTypeEnum.JSON },
......
......@@ -70,11 +70,11 @@ export const columns: BasicColumn[] = [
dataIndex: 'jdnzt',
},
{
title: '是否依据土壤法纳入建设用地土壤污染风险管控与修复名录',
dataIndex: 'sfyjtrfnrjsydtrwrfxgkyxfml',
key: 'sfyjtrfnrjsydtrwrfxgkyxfml'
},
// {
// title: '是否依据土壤法纳入建设用地土壤污染风险管控与修复名录',
// dataIndex: 'sfyjtrfnrjsydtrwrfxgkyxfml',
// key: 'sfyjtrfnrjsydtrwrfxgkyxfml'
// },
{
title: '登录账号',
......@@ -649,6 +649,13 @@ export const formSchema: FormSchema[] = [
]
},
},
{
label: '坐标系',
field: 'zbsm',
defaultValue: 'CGCS2000',
component: 'CheckboxGroup',
show: false,
},
{
label: '中心经度',
field: 'wrdkzxjd',
......
......@@ -57,7 +57,7 @@ const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableCont
// 资料填报
function filling() {
router.push(`/dkgl/fxgk/FillingInfor?wrdkid=`)
router.push(`/dkgl/gkpg/FillingInfor?wrdkid=`)
}
// 返回
function back() {
......
......@@ -13,12 +13,12 @@
<!-- <DkTable :data="dsInfor.wrdkjbxxb"/> -->
</a-collapse-panel>
<a-collapse-panel key="2" header="风险管控方案基本信息" :forceRender="true">
<suBainForm ref="chilrenReport" :data="dsInfor.cbdc" />
<a-collapse-panel key="2" header="风险管控效果评估报告基本信息" :forceRender="true">
<suBainForm ref="chilrenReport" :data="dsInfor.cbdc" />
<template #extra><a-button type="primary" @click.prevent="saveReport($event)">保存</a-button></template>
</a-collapse-panel>
<a-collapse-panel header="风险管控方案编制单位基本信息" :forceRender="true" v-for="(item, index) in unitMessageFormList"
<a-collapse-panel header="风险管控效果评估报告编制单位基本信息" :forceRender="true" v-for="(item, index) in unitMessageFormList"
:key="index + 4">
<unitMessageForm :ref="el => childRef(el, index)" :data="item" />
<template #extra>
......@@ -43,8 +43,8 @@
<a-collapse-panel header="风险管控措施信息" :forceRender="true" key="140000">
<ControlInformation ref="chilrenReportxx" :data="dsInfor.cbdc" />
</a-collapse-panel>
<a-collapse-panel header="风险管控文件上传" :forceRender="true" key="150000">
<CdUpload ref="chilrenReportxx" labelFirst="详细调查文件上传" :objec="[{ name: '公示截图' }, { name: '风险管控方案' }]"
<a-collapse-panel header="风险管控效果评估文件上传" :forceRender="true" key="150000">
<CdUpload ref="chilrenReportxx" labelFirst="详细调查文件上传" :objec="[{ name: '公示截图' }, { name: '评估报告' }]"
:data="dsInfor.xxdc" />
</a-collapse-panel>
<a-collapse-panel header="填报进度" :forceRender="true" key="160000">
......@@ -56,12 +56,12 @@
<script lang="ts" setup>
import { ref, watch } from 'vue';
import DkTable from "/@/components/customComponent/DkTable.vue";
import suBainForm from '/@/components/customComponent/fxgk/ControlPlan.vue';
import ControlInformation from '/@/components/customComponent/fxgk/ControlInformation.vue';
import suBainForm from '/@/components/customComponent/gkpg/pgReport.vue';
import ControlInformation from '/@/components/customComponent/gkpg/csInfor.vue';
import unitMessageForm from '/@/components/customComponent/unitMessageForm.vue';
import Progress from "/@/components/customComponent/Progress.vue";
import CdUpload from '/@/components/customComponent/CdUpload.vue';
import { plotDetails, updateJbxx, updateBzdw, updateJcdw, delBzdw, delJcdw, updateCbdc, updateXxdc, updateMgst } from '/@/api/common/api'
import { plotDetails, updateBzdw, updateJcdw, delBzdw, delJcdw, updateCbdc } from '/@/api/common/api'
import { useRouter } from 'vue-router';
import { nextTick } from 'vue';
......
<!-- 查看基本信息 -->
<template>
<!-- <BasicDrawer v-bind="$attrs" @register="registerDrawer" title="资料填报" width="80%" @ok="handleSubmit" destroyOnClose> -->
<div class="bg-[#fff]">
<a-page-header style="border: 1px solid rgb(235, 237, 240)" @back="router.go(-1)">
<template #backIcon>
<div><a-button type="primary">返回</a-button></div>
</template>
<template #title>
<div>
<a-space>
<a-button type="primary" @click="advice">下达意见</a-button>
<a-button type="primary" @click="views">查看地块全流程</a-button>
<a-button type="primary" @click="history">退改历史</a-button>
</a-space>
</div>
</template>
</a-page-header>
<a-tabs v-model:activeKey="active" type="card">
<a-tab-pane key="1" tab="详情">
<a-collapse v-model:activeKey="activeKey" :bordered="false">
<a-collapse-panel key="1" header="地块信息" v-if="data.wrdkjbxxb">
<DkTable :data="data.wrdkjbxxb" />
</a-collapse-panel>
<a-collapse-panel key="2" header="风险管控效果评估报告基本信息">
<suBainTable :data="data.fxpg" />
</a-collapse-panel>
<a-collapse-panel header="报告编制单位基本信息" v-for="(item, index) in data.bzdw" :key="'6-' + index">
<unitMessageTable :data="item" />
</a-collapse-panel>
<a-collapse-panel header="风险管控效果评估样品分析检测单位基本信息" v-for="(item, index) in data.bzdw" :key="'7-' + index">
<unitMessageTable :data="item" />
</a-collapse-panel>
<a-collapse-panel header="风险管控措施信息" key="8">
<soilMessageTable :data="data.trhjfxxx" />
</a-collapse-panel>
<a-collapse-panel key="14" header="地块边界文件">
<dkbjfileUpload labelFirst="风险" />
</a-collapse-panel>
<a-collapse-panel header="填报进度" key="15">
<fillProgress :List="data.lzjd" />
</a-collapse-panel>
</a-collapse>
</a-tab-pane>
<a-tab-pane key="2" tab="评审信息">
<div class="w-[98%] mx-auto">
<a-divider orientation="left">最近一次评审信息</a-divider>
<Border1 title="评审材料" @clickShow="review" :show="isreview">
<ReviewMaterial :data='data?.ps' v-if="isreview" />
</Border1>
<!-- 专家组意见 -->
<Border1 title="专家组意见" @clickShow="expert" :show="isexpert">
<a-table class=" w-[98%] mx-auto" v-if="isexpert" :columns="opinionColumns"
:data-source="opinionList">
</a-table>
</Border1>
<!-- 参会人员信息 -->
<Border1 title="参会人员信息" @clickShow="participant" :show="isparticipant">
<a-table class=" w-[98%] mx-auto" v-if="isparticipant" :columns="participantsColumns"
:data-source="participantList">
</a-table>
</Border1>
<!-- 归档材料信息 -->
<Border1 title="归档材料信息" @clickShow="material" :show="ismaterial">
<a-table class=" w-[98%] mx-auto" v-if="ismaterial" :columns="materialColumns"
:data-source="materialList">
</a-table>
</Border1>
<a-divider orientation="left">历次评审信息</a-divider>
<Border1 title="归档材料信息" @clickShow="histroy" :show="ishistroy">
<a-table class=" w-[98%] mx-auto" v-if="ishistroy" :columns="histroyColumns" :data-source="hisList">
</a-table>
</Border1>
</div>
</a-tab-pane>
</a-tabs>
<AdviceModal @register="registerModal"></AdviceModal>
</div>
<!-- </BasicDrawer> -->
</template>
<script lang="ts" setup>
import { ref, watch, } from 'vue';
import DkTable from "/@/components/customComponent/DkTable.vue"
import suBainTable from '/@/components/customComponent/fxpg/fxpgInfro.vue';
import unitMessageTable from '/@/components/customComponent/unitMessageTable.vue'; // 单位检测信息请传不同的obj
import soilMessageTable from '/@/components/customComponent/fxpg/trfxView.vue'
import dkbjfileUpload from '/@/components/customComponent/fxpg/UploadBj.vue'
import fillProgress from '/@/components/customComponent/fillProgress.vue'
import ReviewMaterial from '/@/components/customComponent/ReviewMaterial.vue'
import Border1 from '/@/components/customComponent/Border_1.vue'
import AdviceModal from '/@/views/directory/mlzk/land/modules/AdviceModal.vue'
import { useModal } from '/@/components/Modal';
import { opinionColumns, participantsColumns, materialColumns, histroyColumns, zjpsColumns } from './viewData'
import { useRouter } from 'vue-router';
import { plotDetails, } from '/@/api/common/api'
const [registerModal, { openModal }] = useModal();
let router = useRouter();// 注册路由
const data = ref<any>({})
const param = ref<any>(router.currentRoute.value.query)
//手风琴
const activeKey = ref(['1']);
const active = ref('1')
watch(activeKey, val => {
console.log(val);
});
function init() {
getInfor()
// getRecord()
}
init()
// 获取地块基本信息
async function getInfor() {
data.value = await plotDetails({
wrdkid: param.value.wrdkid,
scjdbm: 'S3'
})
participantList.value = data.value.chry
opinionList.value = data.value.zjz
materialList.value = data.value.gdcl
}
// 获取评审记录
// async function getRecord() {
// }
// 点击下达意见
function advice() {
openModal(true, {
record: { wrdkid: param.value.wrdkid },
isUpdate: true,
showFooter: true,
})
}
// 点击查看地块全流程
function views() {
router.push(`/directory/mlzk/land/modules/ViewModal?wrdkid=${param.value.wrdkid}`)
}
// 点击退回历史
function history() {
router.push(`/directory/mlzk/land/modules/History?wrdkid=${param.value.wrdkid}`)
}
// 点击评审
const isreview = ref(true)
function review(v: any) {
isreview.value = v
}
// 专家意见列表
const opinionList = ref([])
const isexpert = ref(true)
function expert(v) {
isexpert.value = v
}
// 参会人员信息
const participantList = ref([])
const isparticipant = ref(true)
function participant(v: any) {
isparticipant.value = v
}
// 归档材料信息
const materialList = ref([])
const ismaterial = ref(true)
function material(v: any) {
ismaterial.value = v
}
// 历史评审
const ishistroy = ref(true)
function histroy(v: any) {
ishistroy.value = v
}
// 最近一次评审信息
const iszjps = ref(true)
function zjps(v: any) {
iszjps.value = v
}
</script>
<style lang="less" scoped>
:deep(.ant-collapse-borderless) {
width: 100%;
}
</style>
\ No newline at end of file
......@@ -168,10 +168,10 @@ const [registerTable, { reload }, { rowSelection, selectedRows, selectedRowKeys
// 点击提交
async function submit() {
console.log(selectedRows.value[0], ' selectedRows.value[0]')
await submitWrdkdc({
wrdkid: selectedRows.value[0].wrdkid,
jxsmdc: selectedRows.value[0].jxsmdc
jxsmdc: selectedRows.value[0].jxsmdc,
sfthxg: selectedRows.value[0].sfthxg
})
reload();
}
......
......@@ -17,7 +17,7 @@
<a-collapse-panel key="2" v-if="dsInfor.wrdkjbxxb.dclx == 3 || dsInfor.wrdkjbxxb.dclx == 1" header="初步调查报告基本信息"
:forceRender="true">
<suBainForm ref="chilrenReport" :data="dsInfor.cbdc" />
<suBainForm ref="chilrenReport" @getjxsmdc="getjxsmdc" :data="dsInfor.cbdc" :dclx="dsInfor.wrdkjbxxb.dclx" />
<template #extra><a-button type="primary" @click.prevent="saveReport($event)">保存</a-button></template>
</a-collapse-panel>
<a-collapse-panel header="详细调查报告基本信息" :forceRender="true"
......@@ -39,16 +39,19 @@
</a-collapse-panel>
<a-collapse-panel :header="dsInfor.wrdkjbxxb.dclx == 1 ? '初步调查检测单位信息' : '详细调查检测单位信息'" :forceRender="true"
v-for="(item, index) in detectionMessageFormList" :key="index + 7">
<unitMessageForm :ref="el => childRefjc(el, index)" :data="item" />
<unitMessageForm v-if="dsInfor.wrdkjbxxb.dclx == 1" :isRead="isRead" :ref="el => childRefjc(el, index)"
:data="item" />
<unitMessageForm v-else :ref="el => childRefjc(el, index)" :data="item" />
<template #extra>
<a-button type="primary" @click.prevent="addDetectionMessageFormList($event)">添加</a-button>
<a-button type="primary" @click.prevent="addDetectionMessageFormList($event)" :disabled="isRead">添加</a-button>
<a-button type="primary" class="ml-5" v-if="index != 0" @click.prevent="deleJcdw($event, index)">删除</a-button>
<a-button type="primary" @click.prevent="saveJcdw($event, index)" style="margin-left: 10px;">保存</a-button>
<a-button type="primary" @click.prevent="saveJcdw($event, index)" :disabled="isRead"
style="margin-left: 10px;">保存</a-button>
</template>
</a-collapse-panel>
<a-collapse-panel header="土壤环境质量信息" :forceRender="true" key="120000">
<EditTrwr ref="chilrenMgst" :data="dsInfor?.mgst" />
<template #extra><a-button type="primary" @click.prevent="saveMgst($event)">保存</a-button></template>
<EditTrwr ref="chilrenTr" :data="dsInfor?.mgst" />
<template #extra><a-button type="primary" @click.prevent="saveTr($event)">保存</a-button></template>
</a-collapse-panel>
<a-collapse-panel header="敏感受体信息" :forceRender="true" key="130000">
<EditMgst ref="chilrenMgst" :data="dsInfor?.mgst" />
......@@ -61,7 +64,8 @@
</a-collapse-panel>
<a-collapse-panel header="详细调查文件上传" :forceRender="true"
v-if="dsInfor.wrdkjbxxb.dclx == 3 || dsInfor.wrdkjbxxb.dclx == 2" key="150000">
<CdUpload ref="chilrenReportxx" labelFirst="详细调查文件上传" :data="dsInfor.xxdc" />
<CdUpload ref="chilrenReportxx" labelFirst="详细调查" :obj="[{ name: '公式照片' }, { name: '详细调查报告' }]"
:data="dsInfor.xxdc" />
</a-collapse-panel>
</a-collapse>
......@@ -76,7 +80,7 @@ import unitMessageForm from '/@/components/customComponent/unitMessageForm.vue';
import EditMgst from '/@/components/customComponent/EditMgst.vue';
import EditTrwr from '/@/components/customComponent/EditTrwr.vue';
import CdUpload from '/@/components/customComponent/CdUpload.vue';
import { plotDetails, updateJbxx, updateBzdw, updateJcdw, delBzdw, delJcdw, updateCbdc, updateXxdc, updateMgst } from '/@/api/common/api'
import { plotDetails, updateJbxx, updateBzdw, updateJcdw, delBzdw, delJcdw, updateCbdc, updateTrhjzlxx, updateXxdc, updateMgst } from '/@/api/common/api'
import { useRouter } from 'vue-router';
import { nextTick } from 'vue';
......@@ -117,8 +121,23 @@ const childrenOne = ref<any>(null)
let detectionMessageFormList = ref([
{ id: null },
]);
const activeKey = ref(['1', '2', '3']);
const activeKey = ref(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '120000', '130000', '140000', '150000']);
// 控制检测单位是否是不可操作
const isRead = ref(false)
function getjxsmdc(v) {
console.log(v, 'nadaol')
if (v == 1)
isRead.value = true
else isRead.value = false
}
// 土壤环境检测
const chilrenTr = ref<any>(null)
async function saveTr(event) {
event.stopPropagation()
const res = await chilrenTr?.value.getFormValueTr()
res.wrdkid = wrdkid.value
await updateTrhjzlxx(res)
}
// 修改基本信息
async function DkFormAddEdit(event) {
event.stopPropagation()
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论