This commit is contained in:
lzc 2025-03-10 09:05:40 +08:00
commit 425cfc4cd3
14 changed files with 440 additions and 17 deletions

View File

@ -13,6 +13,7 @@ import traceRouter from './modules/trace';
import landsRoutes from './modules/lands';
import dictRoutes from './modules/dict';
import productOperateMainRoutes from './modules/productOperateMain';
import inputSuppliesRoutes from './modules/inputSupplies';
export const constantRoutes = [
{
@ -47,6 +48,7 @@ export const constantRoutes = [
...landsRoutes,
...dictRoutes,
...productOperateMainRoutes,
...inputSuppliesRoutes,
];
/**

View File

@ -0,0 +1,68 @@
import Layout from '@/layouts/index.vue';
const inputSuppliesRoutes = [
{
path: '/sub-government-affairs-service/inputSuppliesManage',
name: 'inputSuppliesManage',
component: Layout,
redirect: '/sub-government-affairs-service/basicInfo',
meta: { title: '投入品监管平台', icon: 'Document' },
children: [
// {
// path: '/sub-government-affairs-service/inputDataView',
// name: 'inputDataView',
// component: () => import('@/views/inputSuppliesManage/inputDataView/index.vue'),
// meta: { title: '投入品资源一张图', icon: 'Document' },
// },
{
path: '/sub-government-affairs-service/basicInfo',
name: 'basicInfo',
component: () => import('@/views/inputSuppliesManage/basicInfo/index.vue'),
meta: { title: '物资', icon: 'Document' },
},
// {
// path: '/sub-government-affairs-service/productionDealer',
// name: 'productionDealer',
// component: () => import('@/views/inputSuppliesManage/productionDealer/index.vue'),
// meta: { title: '生产经销商管理', icon: 'Document' },
// },
// {
// path: '/sub-government-affairs-service/enterpriseDealer',
// name: 'enterpriseDealer',
// component: () => import('@/views/inputSuppliesManage/enterpriseDealer/index.vue'),
// meta: { title: '企业经销商抽检', icon: 'Document' },
// },
// {
// path: '/sub-government-affairs-service/useSupervise',
// name: 'useSupervise',
// component: () => import('@/views/inputSuppliesManage/useSupervise/index.vue'),
// meta: { title: '使用监管', icon: 'Document' },
// },
// {
// path: '/sub-government-affairs-service/leaseSupervise',
// name: 'leaseSupervise',
// component: () => import('@/views/inputSuppliesManage/leaseSupervise/index.vue'),
// meta: { title: '农机租赁监管', icon: 'Document' },
// },
{
path: '/sub-government-affairs-service/redBlackRank',
name: 'redBlackRank',
component: () => import('@/views/inputSuppliesManage/redBlackRank/index.vue'),
meta: { title: '企业红黑榜', icon: 'Document' },
},
// {
// path: '/sub-government-affairs-service/knowledgeManage',
// name: 'knowledgeManage',
// component: () => import('@/views/inputSuppliesManage/knowledgeManage/index.vue'),
// meta: { title: '知识库', icon: 'Document' },
// },
// {
// path: '/sub-government-affairs-service/patrolCaseManage',
// name: 'patrolCaseManage',
// component: () => import('@/views/inputSuppliesManage/patrolCaseManage/index.vue'),
// meta: { title: '巡查与案件管理', icon: 'Document' },
// },
],
},
];
export default inputSuppliesRoutes;

View File

@ -6,22 +6,22 @@ export default function useSoilTypeHook() {
const crudRef = ref();
const condition = ref({
villageName: '',
soilType: '',
});
const data = ref([
{
code: '1',
soilType: '1111111111111',
code: 'a123456',
soilType: '黑土地',
status: 0,
},
{
code: '2',
soilType: '2222222222222',
code: 'b258369',
soilType: '黄土地',
status: 1,
},
{
code: '3',
soilType: '3333333333333',
code: 'c987654',
soilType: '盐碱土地',
status: 0,
},
]);
@ -38,15 +38,6 @@ export default function useSoilTypeHook() {
refreshBtn: false,
border: false,
column: [
{
label: '村名',
prop: 'villageName',
search: true,
hide: true,
display: false,
addDisplay: false,
viewDisplay: false,
},
{
label: '编号',
prop: 'code',
@ -54,10 +45,11 @@ export default function useSoilTypeHook() {
addDisplay: false,
},
{
label: '土壤类',
label: '土壤类',
prop: 'soilType',
labelWidth: 100,
span: 23,
search: true,
rules: [
{
required: true,

View File

@ -0,0 +1,20 @@
<template>
<CustomCard> 基础信息 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,56 @@
<template>
<el-radio-group v-model="landType" class="radio_group" style="margin-bottom: 30px" @change="getList()">
<el-radio-button v-for="item in props.option" :key="'radio_' + item.value" :value="item.value">
{{ item.label }}
</el-radio-button>
</el-radio-group>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
const props = defineProps({
option: {
type: Array,
default: () => [
{
value: '1',
label: 'label 1',
},
{
value: '2',
label: 'label 2',
},
{
value: '3',
label: 'label 3',
},
],
},
});
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped>
.radio_group {
justify-content: center;
width: 100%;
> label {
width: 12%;
::v-deep() {
.el-radio-button__inner {
width: 100%;
}
}
}
}
</style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard> 企业经销商抽检 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard> 投入品资源一张图 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard>知识库 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard>租赁监管</CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard>巡查与案件 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard> 生产经销商管理 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,67 @@
<template>
<section class="rank_content" :style="{ '--theme': props.type == 1 ? 'red' : 'black' }">
<h2>{{ props.type == '1' ? '红' : '黑' }}</h2>
<div v-for="(item, i) in props.data" :key="`rank_${props.type}_${i}`" class="rank_item">
<div class="name">{{ item.name }}</div>
<div></div>
<div></div>
<div></div>
</div>
</section>
</template>
<script setup>
import { ref } from 'vue';
const props = defineProps({
type: {
type: String,
default: '1',
},
data: {
type: Array,
default: () => [],
},
});
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped>
.rank_content {
border: 1px solid skyblue;
border-radius: 2px;
h2 {
padding: 4px 0;
font-size: 28px;
font-family: '黑体';
text-align: center;
color: var(--theme);
}
> .rank_item {
display: grid;
grid-template-columns: repeat(4, 1fr);
border-top: 1px solid skyblue;
> div {
padding: 6px 12px;
border-right: 1px solid skyblue;
}
:last-child {
border-right: none;
}
.name {
font-size: 18px;
color: var(--theme);
font-weight: bold;
}
}
}
</style>

View File

@ -0,0 +1,78 @@
<template>
<CustomCard>
<section class="rank_container">
<RankCard type="1" :data="redData" />
<RankCard type="2" :data="blackData" />
</section>
</CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
import RankCard from './common/rankCard.vue';
/* --------------- data --------------- */
// #region
const redData = ref([
{
id: '1',
name: '企业1',
},
{
id: '2',
name: '企业2',
},
{
id: '3',
name: '企业3',
},
{
id: '4',
name: '企业4',
},
{
id: '5',
name: '企业5',
},
{
id: '6',
name: '企业6',
},
{
id: '7',
name: '企业7',
},
{
id: '8',
name: '企业8',
},
{
id: '9',
name: '企业9',
},
{
id: '10',
name: '企业10',
},
]);
const blackData = ref(JSON.parse(JSON.stringify(redData.value)));
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped>
.rank_container {
padding: 40px 0;
display: grid;
justify-content: center;
grid-template-columns: calc(30%) calc(30%);
gap: 40px;
}
</style>

View File

@ -0,0 +1,20 @@
<template>
<CustomCard>使用监管 </CustomCard>
</template>
<script setup>
import { ref } from 'vue';
import CustomCard from '@/components/CustomCard.vue';
/* --------------- data --------------- */
// #region
// #endregion
/* --------------- methods --------------- */
// #region
// #endregion
</script>
<style lang="scss" scoped></style>