提交 d7a25957 authored 作者: gjx's avatar gjx

清单名录地块详情

上级 1f410665
......@@ -178,4 +178,4 @@
"engines": {
"node": "^12 || >=14"
}
}
}
\ No newline at end of file
......@@ -38,6 +38,14 @@ export const categoryList = () => {
url: '/sys/api/tree/hylb'
});
};
// 地块所处阶段详情
export const plotDetails = (params) => {
return defHttp.get({ url: `/qdml/dkdcxx?wrdkid=${params.wrdkid}&scjdbm=${params.scjdbm}` });
}
// 评审记录
export const reviewRecords = (params) => {
return defHttp.get({ url: `/qdml/psjl?wrdkid=${params.wrdkid}&scjdbm=${params.scjdbm}` });
}
/**
* 上传父路径
*/
......
......@@ -17,13 +17,13 @@
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">统一社会信用代码号</td>
<td class="ant-table-cell ant-table-cell-ellipsis"></td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{ data?.wrdkjbxxb?.qrTdsyqr }}</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">回收土地使用权日期</td>
<td class="ant-table-cell ant-table-cell-ellipsis"></td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">前任土地使用权人(其他)</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">其他信息</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">{{ data?.wrdkjbxxb?.qrTdsyqr }}</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">永修县永丰垦殖场南山大队集体</td>
</tr>
......@@ -42,65 +42,86 @@
<td class="ant-table-cell ant-table-cell-ellipsis colspan bgColor">行业类别<div
style="display: flex;color: #FF8F1F;font-size: 12px;"> 地块开展调查之前的行业类别</div>
</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">其他(Z); 其他(99); </td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">{{data?.wrdkjbxxb?.hylb}} </td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis colspan bgColor">现状用地类型<div
style="display: flex;color: #FF8F1F;font-size: 12px;">地块开展调查之前的用地类型</div>
</td>
<td class="ant-table-cell ant-table-cell-ellipsis" id="xzydlx" colspan="3">农用地</td>
<td class="ant-table-cell ant-table-cell-ellipsis" id="xzydlx" colspan="3">
<div v-if="data?.wrdkjbxxb?.xzydlx==1">建设用地 </div>
<div v-if="data?.wrdkjbxxb?.xzydlx==2">农用地 </div>
<div v-if="data?.wrdkjbxxb?.xzydlx==3">未利用地 </div>
</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">地块位置</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">永修县湖东区安康路北侧</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">{{data?.wrdkjbxxb?.wrdkdz}}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">地块占地面积(m<sup>2</sup>)</td>
<td class="ant-table-cell ant-table-cell-ellipsis">50722.67</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.zdmj}}</td>
<td class="ant-table-cell ant-table-cell-ellipsis" bgColor>坐标系说明</td>
<td class="ant-table-cell ant-table-cell-ellipsis">CGCS2000</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">中心经度</td>
<td class="ant-table-cell ant-table-cell-ellipsis">115.84784</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.wrdkzxjd}}</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">中心纬度</td>
<td class="ant-table-cell ant-table-cell-ellipsis">29.02023</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.wrdkzxwd}}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">地块四至范围</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">东至空地、南至安康路、西至南山村安置房项目用地、北至规划红线</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">{{ data?.wrdkjbxxb?.dkszfw }}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">法定代表人</td>
<td class="ant-table-cell ant-table-cell-ellipsis">李荣林</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.frdb}}</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">联系人</td>
<td class="ant-table-cell ant-table-cell-ellipsis">李鑫</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.syqdwxr}}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">电话</td>
<td class="ant-table-cell ant-table-cell-ellipsis">13879230377</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.syqdwlxdh}}</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">邮编</td>
<td class="ant-table-cell ant-table-cell-ellipsis">330300</td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{data?.wrdkjbxxb?.yzbm}}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">地块规划用途</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">一类用地(公共管理与公共服务用地中的中小学用地(A32))</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">
<div v-if="data?.wrdkjbxxb?.dkghytlx==1">一类用地</div>
<div v-if="data?.wrdkjbxxb?.dkghytlx==2">二类用地</div>
<div v-if="data?.wrdkjbxxb?.dkghytlx==3">其他</div>
<div v-if="data?.wrdkjbxxb?.dkghytlx==4">无规化</div>
</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">政策依据</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">《土壤污染防治法》第59条第二款</td>
<td class="ant-table-cell ant-table-cell-ellipsis" colspan="3">{{data?.wrdkjbxxb?.fali_yiju}}</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">涉及的专项工作</td>
<td class="ant-table-cell ant-table-cell-ellipsis">其他</td>
<td class="ant-table-cell ant-table-cell-ellipsis">
<div v-if="data?.wrdkjbxxb?.gzlx==1">危险化学品搬迁</div>
<div v-if="data?.wrdkjbxxb?.gzlx==2">长江经济带整治</div>
<div v-if="data?.wrdkjbxxb?.gzlx==3">黄河流域整治</div>
<div v-if="data?.wrdkjbxxb?.gzlx==4">其他</div>
</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">涉及的重点区域</td>
<td class="ant-table-cell ant-table-cell-ellipsis">长江经济带</td>
<td class="ant-table-cell ant-table-cell-ellipsis">
<div v-if="data?.wrdkjbxxb?.gzfw==1">长江经济带</div>
<div v-if="data?.wrdkjbxxb?.gzfw==2">黄河流域</div>
<div v-if="data?.wrdkjbxxb?.gzfw==3">粤港澳大湾区</div>
<div v-if="data?.wrdkjbxxb?.gzfw==4">其他</div>
</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">是否为农用地转“一住两公”地块</td>
<td class="ant-table-cell ant-table-cell-ellipsis"></td>
<td class="ant-table-cell ant-table-cell-ellipsis">{{ data?.wrdkjbxxb?.isnyd2yzlg==1?'是':'否' }}</td>
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">是否为未利用地转“一住两公”地块</td>
<td class="ant-table-cell ant-table-cell-ellipsis"></td>
<td class="ant-table-cell ant-table-cell-ellipsis">
{{ data?.wrdkjbxxb?.iswlyd2yzlg==1?'是':'否' }}
</td>
</tr>
<tr class="ant-table-cell ant-table-cell-ellipsis" style="display: table-row;">
<td class="ant-table-cell ant-table-cell-ellipsis bgColor">第一阶段调查情况</td>
......@@ -131,6 +152,10 @@
</template>
<script lang="ts" setup>
// data
defineProps({
data: Object,
})
</script>
<style scoped>
......
<template>
<BasicTable @register="registerTable" :rowSelection="rowSelection"></BasicTable>
</template>
<script setup lang="ts">
import { watch } from 'vue';
import { BasicColumn } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage'
const columns: BasicColumn[] = [
{
title: '意见下发人',
dataIndex: 'cityName',
},
{
title: '意见',
dataIndex: 'countryName',
},
{
title: '附件',
dataIndex: 'wrdkmc',
},
{
title: '退改阶段',
dataIndex: 'wrdkbm',
},
{
title: '退回时间',
dataIndex: 'hylb',
},
];
const emit = defineEmits('handClick')
//注册table数据
const { tableContext } = useListPage({
tableProps: {
title: '退改历史',
api: list,
columns,
rowSelection: { type: 'radio', },
canResize: false,
rowKey: 'wrdkid',
clickToRowSelect: true,
showActionColumn: false,
actionColumn: {
width: 120,
},
},
})
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext
watch(
() => selectedRowKeys,
() => {
if (selectedRowKeys[0].length > 0)
emit('handClick', selectedRowKeys[0])
}
);
</script>
\ No newline at end of file
......@@ -38,6 +38,8 @@ export const LoginRoute: AppRouteRecordRaw = {
title: t('routes.basic.login'),
},
};
//update-begin---author:wangshuai ---date:20220629 for:auth2登录页面路由------------
export const Oauth2LoginRoute: AppRouteRecordRaw = {
path: '/oauth2-app/login',
......
......@@ -178,3 +178,7 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input',
}
];
export const formSchema: FormSchema[] = [
]
\ No newline at end of file
......@@ -8,7 +8,7 @@ enum Api {
save = '/qdml/addJsyddk',
edit = '/qdml/queryByWrdkId',
saveEdit = '/qdml/wsdk',
editDK = 'qdml/editdkmc',
editDK = '/qdml/editdkmc',
deleteOne = '/qdml/deldk',
allocation = '/qdml/fpzh',
modify = '/qdml/xgzb',
......
......@@ -108,6 +108,8 @@ export const searchFormSchema: FormSchema[] = [
componentProps: {
api: getTown,
params: val,
labelField: 'name',
valueField: 'id',
},
});
} else {
......@@ -115,6 +117,8 @@ export const searchFormSchema: FormSchema[] = [
field: 'countryCode',
componentProps: {
api: undefined,
labelField: 'name',
valueField: 'id',
},
});
}
......
<template>
<div class="bg-[#fff]">
<a-page-header v-if="!vishow" style="border: 1px solid rgb(235, 237, 240)" @back="back">
<template #backIcon>
<div style="font-size: 14px;color:#999999;">返回</div>
</template>
<template #title>
<div style="font-size: 14px;color:#999999;">> {{ dTitle }}</div>
</template>
</a-page-header>
<!--引用表格-->
<BasicTable v-if="vishow" @register="registerTable" :rowSelection="rowSelection">
<BasicTable @register="registerTable" :rowSelection="rowSelection">
<!-- 行业分类 -->
<template #form-suspect='{ model, field }'>
<div>
......@@ -29,6 +20,7 @@
</a-tree-select>
</div>
</template>
<!--插槽:table标题-->
<template #tableTitle>
<a-button type="primary" @click="handleAdd" v-auth="'qdml-add'">添加</a-button>
......@@ -39,29 +31,10 @@
<a-popconfirm title="是否确认删除?" ok-text="是" cancel-text="否" @confirm="del">
<a href="#"> <a-button type="primary" v-auth="'qdml-del'">删除</a-button></a>
</a-popconfirm>
<a-button type="primary" @click="move" v-auth="'qdml-gz'">移入预关注</a-button>
<a-button type="primary" @click="midify" v-auth="'qdml-zb'">修改坐标</a-button>
<!-- <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button> -->
<!-- <j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> -->
<a-dropdown v-if="false">
<template #overlay>
<a-menu>
<a-menu-item key="1" @click="batchHandleDelete">
<Icon icon="ant-design:delete-outlined"></Icon>
删除
</a-menu-item>
</a-menu>
</template>
<a-button>批量操作
<Icon icon="mdi:chevron-down"></Icon>
</a-button>
</a-dropdown>
</template>
<!--操作栏-->
<!-- <template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
</template> -->
</BasicTable>
<!-- 表单区域 -->
......@@ -74,15 +47,20 @@
<ModifyModal @register="registerModifyModal" @success="handleSuccess" />
<!-- 移入关注 -->
<MoveinModal @register="registerMoveModal" @success="handleSuccess" />
<!-- 查看 -->
<ViewModal v-if="!vishow" @register="registerViewModal" @success="handleSuccess" />
<a-modal v-model:visible="open" :centered="true" title="信息">
<template #footer>
<a-button key="submit" type="primary" @click="open = false">确定</a-button>
</template>
<div class="py-10 ml-6">该地块还未进行填报,没有详情可以查看</div>
</a-modal>
</div>
</template>
<script lang="ts" name="dkgl-gWrdkjbxxb" setup>
import { ref, computed, unref } from 'vue';
import { SmileOutlined } from '@ant-design/icons-vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { ref } from 'vue';
import { useMessage } from '/@/hooks/web/useMessage';
import { useRouter } from 'vue-router';
import { BasicTable } from '/@/components/Table';
import { useModal } from '/@/components/Modal';
import { useListPage } from '/@/hooks/system/useListPage'
import GWrdkjbxxbModal from './modules/GWrdkjbxxbModal.vue'
......@@ -90,13 +68,9 @@ import EditDKModal from './modules/EditDKModal.vue'
import ModifyModal from './modules/ModifyModal.vue'
import MoveinModal from './modules/MoveinModal.vue'
import DelModal from './modules/DelModal.vue'
import ViewModal from './modules/ViewModal.vue'
import { categoryList, dict } from '/@/api/common/api'
import { columns, searchFormSchema } from './GWrdkjbxxb.data';
import { list, deleteOne, batchDelete, allocation, getImportUrl, getExportUrl } from './GWrdkjbxxb.api';
import { getTown, categoryList, dict } from '/@/api/common/api'
import { useMessage } from '/@/hooks/web/useMessage';
import { useDrawer } from '/@/components/Drawer';
import { list, allocation, getImportUrl, getExportUrl } from './GWrdkjbxxb.api';
const { createMessage } = useMessage();
......@@ -106,17 +80,9 @@ const [registerDelModal, { openModal: openDelModal }] = useModal();
const [registerEditdkModal, { openModal: openEditdkModal }] = useModal();
const [registerModifyModal, { openModal: openModifyModal }] = useModal();
const [registerMoveModal, { openModal: openMoveModal }] = useModal();
const [registerViewModal, { openDrawer: openViewModal }] = useDrawer();
const vishow = ref(true)
const dTitle = ref('')
function back() {
vishow.value = true
}
//注册table数据
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
const { tableContext } = useListPage({
tableProps: {
title: '地块基本信息',
api: list,
......@@ -147,17 +113,9 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
})
const [registerTable, { reload }, { rowSelection, selectedRows, selectedRowKeys }] = tableContext
// 获取省市的方法
const countrys = ref([])
const citys = ref([])
async function getcity() {
citys.value = await getTown('440000')
}
getcity()
// 获取城镇
async function handleChange(v) {
countrys.value = await getTown(v)
}
const open = ref(false)
// 获取行业类别
let allCategory = []
const treeData = ref<any>([])
......@@ -232,7 +190,7 @@ async function del() {
createMessage.info('请选择要删除的记录');
return
}
openViewModal(
openDelModal(
true,
{
record: selectedRows.value[0],
......@@ -244,7 +202,7 @@ async function del() {
/**
* 编辑事件
*/
function handleEdit(record: Recordable) {
function handleEdit() {
if (selectedRowKeys.value.length == 0) {
createMessage.info('请选择要修改的地块');
return
......@@ -270,71 +228,31 @@ function move() {
/**
* 详情
*/
function handleView(record: Recordable) {
let router = useRouter();
function handleView() {
if (selectedRowKeys.value.length == 0) {
createMessage.info('请选择要删除的记录');
return
}
dTitle.value = selectedRows.value[0].wrdkmc
vishow.value = false
// openViewModal(true, {
// record: selectedRows.value[0],
// isUpdate: true,
// showFooter: false,
// });
}
/**
* 删除事件
*/
async function handleDelete(record) {
await deleteOne({ id: record.id }, reload);
}
/**
* 批量删除事件
*/
async function batchHandleDelete() {
await batchDelete({ ids: selectedRowKeys.value }, reload);
const record: any = selectedRows.value[0]
if (!record.dclx) {
open.value = true
return
}
router.push(`/directory/mlzk/land/modules/ViewModal?wrdkid=${record.wrdkid}`)
}
/**
* 成功回调
*/
function handleSuccess({ isUpdate, values }) {
function handleSuccess() {
selectedRows.value = []
selectedRowKeys.value = []
reload();
}
/**
* 操作栏
*/
function getTableAction(record) {
return [
{
label: '详情',
onClick: handleDetail.bind(null, record),
}
// {
// label: '编辑',
// onClick: handleEdit.bind(null, record),
// }
]
}
/**
* 下拉操作栏
*/
function getDropDownAction(record) {
return [
{
label: '详情',
onClick: handleDetail.bind(null, record),
}, {
label: '删除',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
}
}
]
}
</script>
<style scoped></style>
\ No newline at end of file
<template>
<BasicModal v-bind="$attrs" @register="registerModal" :title="title" @ok="handleSubmit" width="50%">
<BasicForm @register="registerForm">
</BasicForm>
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, unref } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { BasicForm, useForm } from '/@/components/Form/index';
import { AdviceFormSchema } from './viewData';
import { movie } from '../GWrdkjbxxb.api';
// Emits声明
const emit = defineEmits(['register']);
const isUpdate = ref(true);
//表单配置
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
labelWidth: 220,
schemas: AdviceFormSchema,
showActionButtonGroup: false,
});
//表单赋值
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
//重置表单
await resetFields();
setModalProps({ confirmLoading: false, showCancelBtn: data?.showFooter, showOkBtn: data?.showFooter });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
//表单赋值
await setFieldsValue({
...data.record,
});
}
});
//设置标题
const title = ref('下达指导意见')
//表单提交事件
async function handleSubmit() {
try {
let values = await validate();
setModalProps({ confirmLoading: true });
//提交表单
await movie(values);
//关闭弹窗
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
<style lang="less" scoped></style>
\ No newline at end of file
<!-- 查看基本信息 -->
<template>
<div class="bg-[#fff]">
<a-page-header style="border: 1px solid rgb(235, 237, 240)" @back="router.go(-1)">
<template #backIcon>
<div class="flex">
<div><a-button type="primary">返回</a-button></div>
</div>
</template>
<template #title>
<div>
<a-space wrap>
<a-button type="primary" @click="advice">下达意见</a-button>
<a-button type="primary" @clcik="view">查看地块全流程</a-button>
<a-button type="primary" @click="history">退改历史</a-button>
</a-space>
</div>
</template>
</a-page-header>
<a-tabs v-model:activeKey="activeKey" type="card">
<a-tab-pane key="1" tab="详情">
<p>Content of Tab Pane 1</p>
<p>Content of Tab Pane 1</p>
<p>Content of Tab Pane 1</p>
</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 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>
</div>
</a-tab-pane>
</a-tabs>
<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="地块信息">
<DkTable :data="data" />
</a-collapse-panel>
<a-collapse-panel key="2" header="初步调查报告基本信息">
<suBainTable />
</a-collapse-panel>
<a-collapse-panel header="初步调查报告编制单位基本信息" key="3">
<unitMessageTable />
</a-collapse-panel>
<a-collapse-panel header="初步调查检测单位信息" key="4">
<unitMessageTable />
</a-collapse-panel>
<a-collapse-panel header="详细调查报告基本信息" key="5">
<unitMessageTable :labelFirst="'详细'" />
</a-collapse-panel>
<a-collapse-panel header="详细调查报告编制单位基本信息" key="6">
<unitMessageTable :labelFirst="'详细'" />
</a-collapse-panel>
<a-collapse-panel header="详细调查检测单位信息" key="7">
<unitMessageTable :labelFirst="'详细'" />
</a-collapse-panel>
<a-collapse-panel header="土壤环境质量信息" key="8">
<soilMessageTable :labelFirst="'控制显示土壤'" />
</a-collapse-panel>
<a-collapse-panel header="敏感受体信息" key="9">
<sensitivityTable :labelFirst="'详细'" />
</a-collapse-panel>
<a-collapse-panel header="修复方案基本信息" key="10">
<repairBainTable />
</a-collapse-panel>
<a-collapse-panel header="技术路线" key="11">
<technicalLines />
</a-collapse-panel>
<a-collapse-panel key="12" header="修复方案编制单位基本信息">
<suBainTable />
</a-collapse-panel>
<a-collapse-panel key="13" header="修复方案编制单位基本信息">
<repairActionInfo />
</a-collapse-panel>
<a-collapse-panel key="14" header="地块边界文件上传">
<dkbjfileUpload />
</a-collapse-panel>
<a-collapse-panel key="15" header="填报进度">
<fillProgress />
</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 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>
</div>
</a-tab-pane>
</a-tabs>
<AdviceModal @register="registerModal"></AdviceModal>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import DkTable from "/@/components/customComponent/DkTable.vue"
import suBainTable from '/@/components/customComponent/suBainTable.vue';
import unitMessageTable from '/@/components/customComponent/unitMessageTable.vue'; // 单位检测信息请传不同的obj
import soilMessageTable from '/@/components/customComponent/soilMessageTable.vue'
import sensitivityTable from '/@/components/customComponent/sensitivityTable.vue'
import technicalLines from '/@/components/customComponent/technicalLines.vue'
import repairBainTable from '/@/components/customComponent/repairBainTable.vue'
import repairActionInfo from '/@/components/customComponent/repairActionInfo.vue'
import dkbjfileUpload from '/@/components/customComponent/dkbjfileUpload.vue'
import fillProgress from '/@/components/customComponent/fillProgress.vue'
import ReviewMaterial from '/@/components/customComponent/ReviewMaterial.vue'
import Border1 from '/@/components/customComponent/Border_1.vue'
import { useModal } from '/@/components/Modal';
import { opinionColumns, participantsColumns, materialColumns } from './viewData'
import { useRouter } from 'vue-router';
import { plotDetails, reviewRecords } from '/@/api/common/api'
import AdviceModal from './AdviceModal.vue'
// Emits声明
const emit = defineEmits(['register', 'success']);
const activeKey = ref('2')
let router = useRouter();
// Emits声明
const [registerModal, { openModal }] = useModal();
const active = ref('1')
const activeKey = ref('1')
const data = ref<any>({})
const record = ref<any>({})
const param = ref<any>(router.currentRoute.value.query)
function init() {
getInfor()
// getRecord()
}
init()
// 获取地块基本信息
async function getInfor() {
data.value = await plotDetails({
wrdkid: param.value.wrdkid,
scjdbm: param.value.scjdbm
})
}
// 获取评审记录数据
async function getRecord() {
record.value = await reviewRecords({
wrdkid: router.currentRoute.value.query.wrdkid,
scjdbm: router.currentRoute.value.query.scjdbm
})
}
// 点击下达意见
function advice() {
openModal(true, {
record: { wrdkid: param.value.wrdkid },
isUpdate: true,
showFooter: true,
})
}
// 点击查看地块全流程
function view() {
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) {
......
......@@ -63,7 +63,7 @@
</a-row>
</a-col>
</a-row>
<template #extra> <a-button type="primary" @click="handleClick">基本信息</a-button> </template>
<template #extra> <a-button type="primary" @click="handleClick('地块调查')">基本信息</a-button> </template>
</a-collapse-panel>
<a-collapse-panel key="2" header="风险评估">
<a-row>
......@@ -144,7 +144,11 @@
<script setup lang="ts">
import { ref } from 'vue';
import type { CollapseProps } from 'ant-design-vue';
import { useRouter } from 'vue-router';
let router = useRouter();
const emit = defineEmits(['handClick'])
const activeKey = ref(['1']);
const steps = ref([
{
......@@ -161,8 +165,15 @@ const steps = ref([
},
])
const id = ref(router.currentRoute.value.query.wrdkid)
const expandIconPosition = ref<CollapseProps['expandIconPosition']>('left');
function handleClick() { }
function handleClick(v: any) {
if (v == '地块调查') {
router.push(`/directory/mlzk/land/modules/Detail?wrdkid=${id.value}&scjdbm=S2`)
}
}
</script>
<style lang="less" scoped>
......
<template>
<!-- 退改历史 -->
<div class="bg-[#fff]">
<a-page-header style="border: 1px solid rgb(235, 237, 240)" @back="router.go(-1)">
<template #backIcon>
<div class="flex">
<div><a-button type="primary">返回</a-button></div>
</div>
</template>
<template #title>
<div>
<a-space wrap>
<a-button type="primary" @clcik="view">查看基本信息</a-button>
</a-space>
</div>
</template>
</a-page-header>
<History @handClick="register" />
</div>
</template>
<script setup lang="ts">
import { useRouter } from 'vue-router';
import { ref } from 'vue';
import { useMessage } from '/@/hooks/web/useMessage';
import History from '/@/components/customComponent/History.vue'
let router = useRouter();
const wrdkid = ref('')
const { createMessage } = useMessage();
// 获取地块污染id的值
function register(v: any) {
wrdkid.value = v
}
function view() {
if (!wrdkid.value) {
createMessage.info('请选择要修改的地块');
return
}
router.push(`/directory/mlzk/land/modules/ViewModal?wrdkid=${wrdkid.value}`)
}
</script>
\ No newline at end of file
<!-- 查看基本信息 -->
<template>
<a-page-header v-if="!vishow" style="border: 1px solid rgb(235, 237, 240)" @back="back">
<template #backIcon>
<div style="font-size: 14px;color:#999999;">返回</div>
</template>
<template #title>
<div style="font-size: 14px;color:#999999;">> {{ dTitle }}</div>
</template>
</a-page-header>
<div v-if="vishow">
<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></div>
</template>
</a-page-header>
<DetailSelect />
</div>
<div v-else>
<Detail />
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import Detail from './DelModal.vue'
import DetailSelect from './DetailSelect.vue';
import { useRouter } from 'vue-router';
let router = useRouter();
// Emits声明
const emit = defineEmits(['register', 'success']);
const vishow = ref(true)
const dTitle = ref('')
function back() {
vishow.value = true
}
console.log(router.currentRoute.value.query.id, 'shem')
</script>
......
import type { TableColumnsType } from 'ant-design-vue';
import { FormSchema } from '/@/components/Table';
// 专家组列表
export const opinionColumns: TableColumnsType = [
{
......@@ -89,4 +90,19 @@ export const materialColumns: TableColumnsType = [
align: 'center'
},
]
// 下达指导意见
export const AdviceFormSchema: FormSchema[] = [
{ label: '污染地块ID', field: 'wrdkid', required: true, component: 'Input', show: false },
{ label: '下单意见', field: 'clyj', required: true, component: 'Input' },
{
label: '文件',
field: 'clyjfj',
required: true,
component: 'JUpload',
componentProps: {
showUploadList: false,
},
},
]
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论