Merge branch 'dev' of http://47.109.205.240:3000/Web/daimp-front into dev
This commit is contained in:
commit
72f6122d4f
@ -24,10 +24,53 @@ export function editBuiness(data = {}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function delBuiness(params = {}) {
|
export function delBuiness(params = {}) {
|
||||||
return request('/product-businesse/business/deleteBusiness', {
|
return request('/product-business/business/deleteBusiness', {
|
||||||
method: 'DELETE',
|
method: 'DELETE',
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
|
/* 经营主体审核相关 */
|
||||||
|
export function getBuinesCheckList(params = {}) {
|
||||||
|
return request('/product-business/business/businessCheckPage', {
|
||||||
|
method: 'GET',
|
||||||
|
params,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function doBusinessCheck(data = {}) {
|
||||||
|
return request('/product-business/business/businessCheck', {
|
||||||
|
method: 'PUT',
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function exportBusinessCheck(params = {}) {
|
||||||
|
return request('/product-business/business/businessCheckExport', {
|
||||||
|
method: 'GET',
|
||||||
|
params,
|
||||||
|
responseType: 'blob',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// #endregion
|
||||||
|
|
||||||
|
/* 经营主体审核历史相关 */
|
||||||
|
export function getBuinesCheckRecord(params = {}) {
|
||||||
|
return request('/product-business/business/businessCheckLogPage', {
|
||||||
|
method: 'GET',
|
||||||
|
params,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function exportBusinessCheckRecord(params = {}) {
|
||||||
|
return request('/product-business/business/businessCheckLogExport', {
|
||||||
|
method: 'GET',
|
||||||
|
params,
|
||||||
|
responseType: 'blob',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// #endregion
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, ref } from 'vue';
|
import { computed, reactive, ref } from 'vue';
|
||||||
import { useApp } from '@/hooks';
|
import { useApp } from '@/hooks';
|
||||||
import { CRUD_OPTIONS, pageData } from '@/config';
|
import { CRUD_OPTIONS, pageData } from '@/config';
|
||||||
import { isEmpty, downloadFile } from '@/utils';
|
import { isEmpty, downloadFile } from '@/utils';
|
||||||
@ -58,7 +58,7 @@ const crudRef = ref(null);
|
|||||||
|
|
||||||
let timeVal = ref([]);
|
let timeVal = ref([]);
|
||||||
const searchCondition = ref({
|
const searchCondition = ref({
|
||||||
businessType: '',
|
businessType: null,
|
||||||
businessId: '',
|
businessId: '',
|
||||||
productType: '', //产品类型
|
productType: '', //产品类型
|
||||||
createStartTime: '',
|
createStartTime: '',
|
||||||
@ -66,7 +66,15 @@ const searchCondition = ref({
|
|||||||
primaryProduct: '',
|
primaryProduct: '',
|
||||||
});
|
});
|
||||||
|
|
||||||
const labelProp = ref({});
|
// :0->个体,1->村集体,2->合作社,3->企业
|
||||||
|
const column0 = [];
|
||||||
|
|
||||||
|
const column1 = [];
|
||||||
|
|
||||||
|
const column2 = [];
|
||||||
|
|
||||||
|
const column3 = [];
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
loading: false,
|
loading: false,
|
||||||
form: {},
|
form: {},
|
||||||
@ -87,6 +95,8 @@ const state = reactive({
|
|||||||
width: '80px',
|
width: '80px',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
span: 24,
|
span: 24,
|
||||||
props: {
|
props: {
|
||||||
label: 'dictLabel',
|
label: 'dictLabel',
|
||||||
@ -116,6 +126,8 @@ const state = reactive({
|
|||||||
width: '160px',
|
width: '160px',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
search: true,
|
search: true,
|
||||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
},
|
},
|
||||||
@ -126,6 +138,8 @@ const state = reactive({
|
|||||||
width: '120px',
|
width: '120px',
|
||||||
remote: false,
|
remote: false,
|
||||||
search: true,
|
search: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
props: {
|
props: {
|
||||||
label: 'dictLabel',
|
label: 'dictLabel',
|
||||||
value: 'dictValue',
|
value: 'dictValue',
|
||||||
@ -148,6 +162,8 @@ const state = reactive({
|
|||||||
width: '120px',
|
width: '120px',
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
search: false,
|
search: false,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
rules: {
|
rules: {
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入',
|
message: '请输入',
|
||||||
@ -160,6 +176,28 @@ const state = reactive({
|
|||||||
search: false,
|
search: false,
|
||||||
width: '200px',
|
width: '200px',
|
||||||
labelWidth: '160px',
|
labelWidth: '160px',
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '规模',
|
||||||
|
prop: 'villageCount',
|
||||||
|
search: false,
|
||||||
|
width: '200px',
|
||||||
|
labelWidth: '160px',
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '负责人',
|
||||||
|
prop: 'headName',
|
||||||
|
search: false,
|
||||||
|
width: '200px',
|
||||||
|
labelWidth: '160px',
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -170,8 +208,8 @@ const state = reactive({
|
|||||||
width: '200px',
|
width: '200px',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
addDisplay: true,
|
addDisplay: false,
|
||||||
editDisplay: true,
|
editDisplay: false,
|
||||||
search: true,
|
search: true,
|
||||||
props: {
|
props: {
|
||||||
label: 'areaName',
|
label: 'areaName',
|
||||||
@ -191,6 +229,8 @@ const state = reactive({
|
|||||||
search: false,
|
search: false,
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
showOverflowTooltip: true,
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
rules: { required: true, message: '请输入', trigger: 'blur' },
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -198,11 +238,9 @@ const state = reactive({
|
|||||||
prop: 'phone',
|
prop: 'phone',
|
||||||
width: '160px',
|
width: '160px',
|
||||||
search: false,
|
search: false,
|
||||||
rules: {
|
addDisplay: false,
|
||||||
required: true,
|
editDisplay: false,
|
||||||
message: '请输入',
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
trigger: 'blur',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '审核状态',
|
label: '审核状态',
|
||||||
@ -288,6 +326,199 @@ const state = reactive({
|
|||||||
search: true,
|
search: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
group: [
|
||||||
|
{
|
||||||
|
label: '基本信息>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '主体代码',
|
||||||
|
prop: 'taskCode',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体名称',
|
||||||
|
prop: 'taskCode',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体类型',
|
||||||
|
prop: 'businessType',
|
||||||
|
type: 'radio',
|
||||||
|
width: '80px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
span: 24,
|
||||||
|
props: {
|
||||||
|
label: 'dictLabel',
|
||||||
|
value: 'dictValue',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list?dictType=sys_business_type¤t=1&size=10`,
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data.records ?? [],
|
||||||
|
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营产品种类',
|
||||||
|
prop: 'productType',
|
||||||
|
type: 'select',
|
||||||
|
props: {
|
||||||
|
label: 'dictLabel',
|
||||||
|
value: 'dictValue',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list`,
|
||||||
|
dicQuery: {
|
||||||
|
dictType: 'sys_business_product_type',
|
||||||
|
current: 1,
|
||||||
|
size: 100,
|
||||||
|
},
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data.records ?? [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主要产品',
|
||||||
|
prop: 'product',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '规模',
|
||||||
|
prop: 'villageCount',
|
||||||
|
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '负责人',
|
||||||
|
prop: 'headName',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '负责人电话',
|
||||||
|
prop: 'phone',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系地址',
|
||||||
|
prop: 'addressCode',
|
||||||
|
type: 'cascader',
|
||||||
|
checkStrictly: false,
|
||||||
|
width: '200px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
search: true,
|
||||||
|
props: {
|
||||||
|
label: 'areaName',
|
||||||
|
value: 'areaCode',
|
||||||
|
children: 'areaChildVOS',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/area/region?areaCode=530000`,
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data ?? [],
|
||||||
|
rules: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '详细地址',
|
||||||
|
prop: 'detailAddress',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '营业执照>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '统一社会信用代码',
|
||||||
|
prop: 'notes',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '营业执照',
|
||||||
|
prop: 'license',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '有效期至',
|
||||||
|
prop: 'operationDate',
|
||||||
|
type: 'date',
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
valueFormat: 'YYYY-MM-DD',
|
||||||
|
width: 200,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营项目',
|
||||||
|
prop: 'inspectionSituation',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营许可证>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '经营许可证编号',
|
||||||
|
prop: 'operationType',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营许可证',
|
||||||
|
prop: 'permit',
|
||||||
|
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '有效期至',
|
||||||
|
prop: 'operationDate',
|
||||||
|
type: 'date',
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
valueFormat: 'YYYY-MM-DD',
|
||||||
|
width: 200,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核操作>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '是否通过',
|
||||||
|
prop: 'isIllegal',
|
||||||
|
span: 24,
|
||||||
|
display: true,
|
||||||
|
type: 'radio',
|
||||||
|
editDisplay: true,
|
||||||
|
addDisplay: false,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '是',
|
||||||
|
value: '1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '否',
|
||||||
|
value: '0',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核意见',
|
||||||
|
prop: 'note',
|
||||||
|
type: 'textarea',
|
||||||
|
span: 24,
|
||||||
|
minRows: 3, // 设置最小行数
|
||||||
|
maxRows: 5, // 设置最大行数
|
||||||
|
overHidden: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
actions: [
|
actions: [
|
||||||
{
|
{
|
||||||
name: '详情',
|
name: '详情',
|
||||||
@ -398,8 +629,8 @@ const rowSave = (row, done, loading) => {
|
|||||||
|
|
||||||
// 编辑
|
// 编辑
|
||||||
const rowEdit = (row) => {
|
const rowEdit = (row) => {
|
||||||
row.addressCode = row.provinceCode + ',' + row.cityCode + ',' + row.countyCode + ',' + row.townCode;
|
// row.addressCode = row.provinceCode + ',' + row.cityCode + ',' + row.countyCode + ',' + row.townCode;
|
||||||
console.info('编辑', row);
|
// console.info('编辑', row);
|
||||||
crudRef.value.rowEdit(row);
|
crudRef.value.rowEdit(row);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,6 +43,7 @@ import {
|
|||||||
getAddrCropByLand,
|
getAddrCropByLand,
|
||||||
importOperationRecord,
|
importOperationRecord,
|
||||||
} from '@/apis/land';
|
} from '@/apis/land';
|
||||||
|
import { getBuinesCheckList, doBusinessCheck, exportBusinessCheck } from '@/apis/productOperateMain';
|
||||||
|
|
||||||
const { VITE_APP_BASE_API } = import.meta.env;
|
const { VITE_APP_BASE_API } = import.meta.env;
|
||||||
const app = useApp();
|
const app = useApp();
|
||||||
|
@ -1,5 +1,556 @@
|
|||||||
<template>
|
<template>
|
||||||
<div></div>
|
<div class="custom-page">
|
||||||
|
<avue-crud
|
||||||
|
ref="crudRef"
|
||||||
|
v-model="state.form"
|
||||||
|
v-model:search="state.query"
|
||||||
|
v-model:page="state.pageData"
|
||||||
|
:table-loading="state.loading"
|
||||||
|
:data="state.data"
|
||||||
|
:option="state.options"
|
||||||
|
@refresh-change="refreshChange"
|
||||||
|
@search-reset="searchChange"
|
||||||
|
@search-change="searchChange"
|
||||||
|
@selection-change="selectionChange"
|
||||||
|
@current-change="currentChange"
|
||||||
|
@size-change="sizeChange"
|
||||||
|
>
|
||||||
|
<template #menu-left>
|
||||||
|
<el-button type="success" icon="download" @click="onExport">导出</el-button>
|
||||||
|
</template>
|
||||||
|
<template #status="{ row }">
|
||||||
|
<el-tag v-if="row.status == '0'" type="warning" size="small">待审核</el-tag>
|
||||||
|
<el-tag v-if="row.status == '1'" type="success" size="small">通过</el-tag>
|
||||||
|
<el-tag v-if="row.status == '2'" type="danger" size="small">拒绝</el-tag>
|
||||||
|
</template>
|
||||||
|
<!-- <template #menu="scope">
|
||||||
|
<custom-table-operate :actions="state.options.actions" :data="scope" />
|
||||||
|
</template> -->
|
||||||
|
</avue-crud>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup></script>
|
<script setup>
|
||||||
<style></style>
|
import { reactive, ref } from 'vue';
|
||||||
|
import { useApp } from '@/hooks';
|
||||||
|
import { CRUD_OPTIONS } from '@/config';
|
||||||
|
import { isEmpty, downloadFile } from '@/utils';
|
||||||
|
import { useUserStore } from '@/store/modules/user';
|
||||||
|
import {
|
||||||
|
getOperationRecord,
|
||||||
|
saveOperationRecord,
|
||||||
|
editOperationRecord,
|
||||||
|
delOperationRecord,
|
||||||
|
exportOperationRecord,
|
||||||
|
getAddrCropByLand,
|
||||||
|
importOperationRecord,
|
||||||
|
} from '@/apis/land';
|
||||||
|
import { getBuinesCheckRecord, exportBusinessCheckRecord } from '@/apis/productOperateMain';
|
||||||
|
|
||||||
|
const { VITE_APP_BASE_API } = import.meta.env;
|
||||||
|
const app = useApp();
|
||||||
|
const UserStore = useUserStore();
|
||||||
|
const crudRef = ref(null);
|
||||||
|
|
||||||
|
const jobTypeOptions = reactive([
|
||||||
|
{ label: '蔬菜', value: '0' },
|
||||||
|
{ label: '水果', value: '1' },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const bTypeOptions = reactive([
|
||||||
|
{ label: '个体', value: '0' },
|
||||||
|
{ label: '村集体', value: '1' },
|
||||||
|
{ label: '合作社', value: '2' },
|
||||||
|
{ label: '企业', value: '3' },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const auditStatusOptions = reactive([
|
||||||
|
{ label: '待审核', value: '0' },
|
||||||
|
{ label: '已通过', value: '1' },
|
||||||
|
{ label: '已拒绝', value: '2' },
|
||||||
|
]);
|
||||||
|
|
||||||
|
const productTypeOptions = reactive([
|
||||||
|
{ label: '蔬菜', value: '0' },
|
||||||
|
{ label: '水果', value: '1' },
|
||||||
|
]);
|
||||||
|
|
||||||
|
let bTypeVal = ref('0');
|
||||||
|
const baseColumn = reactive([]);
|
||||||
|
const individualBase = [
|
||||||
|
{ label: '身份证号', prop: 'crop' },
|
||||||
|
{ label: '联系电话', prop: 'crop' },
|
||||||
|
{ label: '联系地址', prop: 'crop' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const collectiveBase = [
|
||||||
|
{ label: '负责人', prop: 'crop' },
|
||||||
|
{ label: '负责人电话', prop: 'crop' },
|
||||||
|
{ label: '联系地址', prop: 'crop' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const enterpriseBase = [
|
||||||
|
{ label: '企业规模', prop: 'crop' },
|
||||||
|
{ label: '负责人', prop: 'crop' },
|
||||||
|
{ label: '负责人电话', prop: 'crop' },
|
||||||
|
{ label: '公司地址', prop: 'crop' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const state = reactive({
|
||||||
|
loading: false,
|
||||||
|
query: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
},
|
||||||
|
form: {},
|
||||||
|
selection: [],
|
||||||
|
options: {
|
||||||
|
...CRUD_OPTIONS,
|
||||||
|
addBtnText: '添加',
|
||||||
|
addBtn: false,
|
||||||
|
searchLabelWidth: '120px',
|
||||||
|
searchSpan: 8,
|
||||||
|
searchGutter: 100,
|
||||||
|
searchMenuPosition: 'center',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '主体类型',
|
||||||
|
prop: 'businessType',
|
||||||
|
type: 'radio',
|
||||||
|
search: true,
|
||||||
|
width: '80px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
span: 24,
|
||||||
|
props: {
|
||||||
|
label: 'dictLabel',
|
||||||
|
value: 'dictValue',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list?dictType=sys_business_type¤t=1&size=10`,
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data.records ?? [],
|
||||||
|
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体代码',
|
||||||
|
prop: 'id',
|
||||||
|
width: '120px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
search: true,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体名称',
|
||||||
|
prop: 'businessName',
|
||||||
|
width: '160px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
search: true,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营产品种类',
|
||||||
|
prop: 'productType',
|
||||||
|
type: 'select',
|
||||||
|
width: '120px',
|
||||||
|
remote: false,
|
||||||
|
search: true,
|
||||||
|
props: {
|
||||||
|
label: 'dictLabel',
|
||||||
|
value: 'dictValue',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list`,
|
||||||
|
dicQuery: {
|
||||||
|
dictType: 'sys_business_product_type',
|
||||||
|
current: 1,
|
||||||
|
size: 100,
|
||||||
|
},
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data.records ?? [],
|
||||||
|
rules: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主要经营产品',
|
||||||
|
prop: 'primaryProduct',
|
||||||
|
width: '120px',
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
search: false,
|
||||||
|
rules: {
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '统一信用代码/证件号码',
|
||||||
|
prop: 'idCard',
|
||||||
|
search: false,
|
||||||
|
width: '200px',
|
||||||
|
labelWidth: '160px',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系地址',
|
||||||
|
prop: 'addressCode',
|
||||||
|
type: 'cascader',
|
||||||
|
checkStrictly: false,
|
||||||
|
width: '200px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
addDisplay: true,
|
||||||
|
editDisplay: true,
|
||||||
|
search: true,
|
||||||
|
props: {
|
||||||
|
label: 'areaName',
|
||||||
|
value: 'areaCode',
|
||||||
|
children: 'areaChildVOS',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/area/region?areaCode=530000`,
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data ?? [],
|
||||||
|
rules: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '详细地址',
|
||||||
|
prop: 'detailAddress',
|
||||||
|
search: false,
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系电话',
|
||||||
|
prop: 'phone',
|
||||||
|
width: '160px',
|
||||||
|
search: false,
|
||||||
|
rules: {
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核状态',
|
||||||
|
prop: 'status',
|
||||||
|
width: '80px',
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
search: false,
|
||||||
|
rules: {
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核意见',
|
||||||
|
prop: 'remark',
|
||||||
|
addDisplay: false,
|
||||||
|
editDisplay: false,
|
||||||
|
width: '200px',
|
||||||
|
ellipsis: true,
|
||||||
|
showOverflowTooltip: true,
|
||||||
|
rules: {
|
||||||
|
required: true,
|
||||||
|
message: '请输入',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ label: '创建时间', prop: 'createTime', addDisplay: false, editDisplay: false, search: false },
|
||||||
|
],
|
||||||
|
searchColumn: [
|
||||||
|
{ label: '主体代码', prop: 'landName', search: true },
|
||||||
|
{ label: '主体名称', prop: 'crop', search: true },
|
||||||
|
{
|
||||||
|
label: '经营产品种类',
|
||||||
|
prop: 'productType',
|
||||||
|
type: 'select',
|
||||||
|
width: '120px',
|
||||||
|
remote: false,
|
||||||
|
search: true,
|
||||||
|
props: {
|
||||||
|
label: 'dictLabel',
|
||||||
|
value: 'dictValue',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/dict/data/list`,
|
||||||
|
dicQuery: {
|
||||||
|
dictType: 'sys_business_product_type',
|
||||||
|
current: 1,
|
||||||
|
size: 100,
|
||||||
|
},
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data.records ?? [],
|
||||||
|
rules: [{ required: true, message: '请选择', trigger: 'blur' }],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体类型',
|
||||||
|
prop: 'operationType',
|
||||||
|
type: 'select',
|
||||||
|
search: true,
|
||||||
|
dicData: bTypeOptions,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '创建日期',
|
||||||
|
prop: 'operationDate',
|
||||||
|
type: 'daterange',
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
valueFormat: 'YYYY-MM-DD',
|
||||||
|
width: 200,
|
||||||
|
search: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
group: [
|
||||||
|
{
|
||||||
|
label: '基本信息>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '主体代码',
|
||||||
|
prop: 'taskCode',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体名称',
|
||||||
|
prop: 'taskCode',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主体类型',
|
||||||
|
prop: 'bType',
|
||||||
|
type: 'select',
|
||||||
|
dicData: bTypeOptions,
|
||||||
|
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营产品种类',
|
||||||
|
type: 'select',
|
||||||
|
dicData: productTypeOptions,
|
||||||
|
rules: { required: true, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主要产品',
|
||||||
|
prop: 'product',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '合作社规模',
|
||||||
|
prop: 'inspectionType',
|
||||||
|
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '负责人',
|
||||||
|
prop: 'inspectionTarget',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '负责人电话',
|
||||||
|
prop: 'inspectionTarget',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '联系地址',
|
||||||
|
prop: 'inspectionTarget',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
type: 'select',
|
||||||
|
props: {
|
||||||
|
label: 'areaName',
|
||||||
|
value: 'areaCode',
|
||||||
|
children: 'areaChildVOS',
|
||||||
|
},
|
||||||
|
dicUrl: `${VITE_APP_BASE_API}/system/area/region?areaCode=530000`,
|
||||||
|
dicHeaders: {
|
||||||
|
authorization: UserStore.token,
|
||||||
|
},
|
||||||
|
dicFormatter: (res) => res.data ?? [],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '详细地址',
|
||||||
|
prop: 'notes',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '营业执照>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '统一社会信用代码',
|
||||||
|
prop: 'notes',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '营业执照',
|
||||||
|
prop: 'license',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '有效期至',
|
||||||
|
prop: 'operationDate',
|
||||||
|
type: 'date',
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
valueFormat: 'YYYY-MM-DD',
|
||||||
|
width: 200,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营项目',
|
||||||
|
prop: 'inspectionSituation',
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营许可证>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '经营许可证编号',
|
||||||
|
prop: 'operationType',
|
||||||
|
rules: { required: false, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '经营许可证',
|
||||||
|
prop: 'permit',
|
||||||
|
rules: { required: false, message: '请选择', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '有效期至',
|
||||||
|
prop: 'operationDate',
|
||||||
|
type: 'date',
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
valueFormat: 'YYYY-MM-DD',
|
||||||
|
width: 200,
|
||||||
|
rules: { required: true, message: '请输入', trigger: 'blur' },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核操作>',
|
||||||
|
prop: 'caseInfo',
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
label: '是否通过',
|
||||||
|
prop: 'isIllegal',
|
||||||
|
span: 24,
|
||||||
|
display: true,
|
||||||
|
type: 'radio',
|
||||||
|
editDisplay: true,
|
||||||
|
addDisplay: false,
|
||||||
|
dicData: [
|
||||||
|
{
|
||||||
|
label: '是',
|
||||||
|
value: '1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '否',
|
||||||
|
value: '0',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '审核意见',
|
||||||
|
prop: 'note',
|
||||||
|
type: 'textarea',
|
||||||
|
span: 24,
|
||||||
|
minRows: 3, // 设置最小行数
|
||||||
|
maxRows: 5, // 设置最大行数
|
||||||
|
overHidden: true,
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
pageData: {
|
||||||
|
total: 0,
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
data: [],
|
||||||
|
currentRow: {},
|
||||||
|
});
|
||||||
|
|
||||||
|
// 加载
|
||||||
|
const loadData = () => {
|
||||||
|
state.loading = true;
|
||||||
|
getBuinesCheckRecord(state.query)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
const { current, size, total, records } = res.data;
|
||||||
|
state.data = records;
|
||||||
|
state.pageData = {
|
||||||
|
currentPage: current || 1,
|
||||||
|
pageSize: size || 10,
|
||||||
|
total: total,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
app.$message.error(err.msg);
|
||||||
|
state.data = [];
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
state.loading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
loadData();
|
||||||
|
|
||||||
|
// 页数
|
||||||
|
const currentChange = (current) => {
|
||||||
|
state.query.current = current;
|
||||||
|
loadData();
|
||||||
|
};
|
||||||
|
|
||||||
|
// 条数
|
||||||
|
const sizeChange = (size) => {
|
||||||
|
state.query.size = size;
|
||||||
|
loadData();
|
||||||
|
};
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
const searchChange = (params, done) => {
|
||||||
|
if (done) done();
|
||||||
|
state.query = params;
|
||||||
|
state.query.current = 1;
|
||||||
|
loadData();
|
||||||
|
};
|
||||||
|
|
||||||
|
// 刷新
|
||||||
|
const refreshChange = () => {
|
||||||
|
loadData();
|
||||||
|
app.$message.success('刷新成功');
|
||||||
|
};
|
||||||
|
|
||||||
|
const onExport = () => {
|
||||||
|
if (isEmpty(state.data)) {
|
||||||
|
app.$message.error('当前暂时没有可供导出的数据!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
state.loading = true;
|
||||||
|
const fileName = '网格明细表';
|
||||||
|
exportBusinessCheckRecord(state.query)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
downloadFile(res.data, `${fileName}.xlsx`, 'blob');
|
||||||
|
app.$message.success('导出成功!');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
app.$message.error('导出失败!');
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
state.loading = false;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
@ -81,8 +81,8 @@ const navlist = ref([
|
|||||||
{ title: '土地资源', name: 'land' },
|
{ title: '土地资源', name: 'land' },
|
||||||
{ title: '投入品', name: 'inputs' },
|
{ title: '投入品', name: 'inputs' },
|
||||||
{ title: '生产经营主体', name: 'entities' },
|
{ title: '生产经营主体', name: 'entities' },
|
||||||
{ title: '智慧种植检测', name: 'plant' },
|
// { title: '智慧种植监测', name: 'plant' },
|
||||||
{ title: '智慧养殖检测', name: 'breed' },
|
// { title: '智慧养殖监测', name: 'breed' },
|
||||||
{ title: '全流程溯源', name: 'trace' },
|
{ title: '全流程溯源', name: 'trace' },
|
||||||
{ title: '产业预警决策', name: 'early' },
|
{ title: '产业预警决策', name: 'early' },
|
||||||
]);
|
]);
|
||||||
|
@ -47,8 +47,8 @@ const navlist = ref([
|
|||||||
{ title: '土地资源', name: 'land' },
|
{ title: '土地资源', name: 'land' },
|
||||||
{ title: '投入品', name: 'inputs' },
|
{ title: '投入品', name: 'inputs' },
|
||||||
{ title: '生产经营主体', name: 'entities' },
|
{ title: '生产经营主体', name: 'entities' },
|
||||||
{ title: '智慧种植检测', name: 'plant' },
|
{ title: '智慧种植监测', name: 'plant' },
|
||||||
{ title: '智慧养殖检测', name: 'breed' },
|
{ title: '智慧养殖监测', name: 'breed' },
|
||||||
{ title: '全流程溯源', name: 'trace' },
|
{ title: '全流程溯源', name: 'trace' },
|
||||||
{ title: '产业预警决策', name: 'early' },
|
{ title: '产业预警决策', name: 'early' },
|
||||||
]);
|
]);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* @LastEditTime: 2024-03-22 10:11:34
|
* @LastEditTime: 2024-03-22 10:11:34
|
||||||
*/
|
*/
|
||||||
import 'virtual:svg-icons-register';
|
import 'virtual:svg-icons-register';
|
||||||
import { createApp } from 'vue';
|
import { createApp, nextTick } from 'vue';
|
||||||
import App from './App.vue';
|
import App from './App.vue';
|
||||||
import router from './router';
|
import router from './router';
|
||||||
import pinia from './store';
|
import pinia from './store';
|
||||||
@ -31,14 +31,16 @@ initAMapApiLoader({
|
|||||||
version: '2.0',
|
version: '2.0',
|
||||||
},
|
},
|
||||||
AMapUI: {
|
AMapUI: {
|
||||||
plugins: ['misc/PathSimplifier'],
|
lugins: ['misc/PathSimplifier'],
|
||||||
},
|
},
|
||||||
plugins: ['AMap.MapType', 'AMap.DistrictSearch'],
|
plugins: ['AMap.MapType'],
|
||||||
});
|
});
|
||||||
|
|
||||||
const app = createApp(App);
|
const app = createApp(App);
|
||||||
app.use(pinia).use(router).use(ElementPlus).use(Avue).use(VueAMap);
|
app.use(pinia).use(router).use(ElementPlus).use(Avue).use(VueAMap);
|
||||||
registerGlobalComponents(app);
|
nextTick(() => {
|
||||||
registerElIcons(app);
|
registerGlobalComponents(app);
|
||||||
registerDirective(app);
|
registerElIcons(app);
|
||||||
registerMicroApps(app);
|
registerDirective(app);
|
||||||
|
registerMicroApps(app);
|
||||||
|
});
|
||||||
|
@ -62,7 +62,7 @@ onMounted(() => {
|
|||||||
if (chartsData.valData && chartsData.valData.length) {
|
if (chartsData.valData && chartsData.valData.length) {
|
||||||
chartsData.valData.forEach((m, index) => {
|
chartsData.valData.forEach((m, index) => {
|
||||||
let num = 100;
|
let num = 100;
|
||||||
m.value = (Number(m.value) + Math.random() + num).toFixed(2);
|
m.value = (Number(m.value) + Math.random() + num).toFixed(0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="plant-gs-warp">
|
<div class="plant-gs-warp">
|
||||||
<div ref="viewwarp" class="plant-gs-content" :style="{ 'background-image': 'url(' + getAssetsFile('images/plant/bg1.png') + ')' }">
|
<div ref="viewwarp" class="plant-gs-content" :style="{ 'background-image': 'url(' + getAssetsFile('images/plant/bg1.png') + ')' }">
|
||||||
<el-amap ref="mapRef" :zoom="11" :center="[99.402267, 23.538889]" :mask="yunnan" view-mode="3D" @init="initMap">
|
<el-amap :zoom="11" :center="[99.402267, 23.538889]" ref="mapRef" view-mode="3D">
|
||||||
<!-- 带孔洞的四边形 -->
|
<!-- 带孔洞的四边形 -->
|
||||||
<el-amap-layer-satellite :visible="visible" />
|
<el-amap-layer-satellite :visible="visible" />
|
||||||
<el-amap-polygon :path="polygon" :fill-opacity="0.5" fill-color="#748cb7" stroke-color="transparent" />
|
<el-amap-polygon :path="polygon" :fill-opacity="0.5" fill-color="#748cb7" stroke-color="transparent" />
|
||||||
|
<!-- <el-amap-loca>
|
||||||
|
<el-amap-loca-heatmap :source-url="sourceUrl" :layer-style="layerStyle" />
|
||||||
|
</el-amap-loca> -->
|
||||||
</el-amap>
|
</el-amap>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -34,23 +37,30 @@ const polygon = reactive([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
const mapRef = ref(null);
|
const mapRef = ref(null);
|
||||||
const yunnan = ref([]);
|
const sourceUrl = ref('https://a.amap.com/Loca/static/loca-v2/demos/mock_data/hz_house_order.json');
|
||||||
function initMap(e) {
|
const layerStyle = ref({
|
||||||
var opts = {
|
radius: 20,
|
||||||
subdistrict: 0,
|
unit: 'px',
|
||||||
extensions: 'all',
|
height: 90,
|
||||||
level: 'province',
|
// radius: 10,
|
||||||
};
|
// unit: 'px',
|
||||||
var district = new AMap.DistrictSearch(opts);
|
// height: 10,
|
||||||
district.search('云南省', function (status, result) {
|
gradient: {
|
||||||
console.log('res', result);
|
0.1: 'rgba(50,48,118,1)',
|
||||||
var bounds = result.districtList[0].boundaries;
|
0.2: 'rgba(127,60,255,1)',
|
||||||
for (var i = 0; i < bounds.length; i += 1) {
|
0.4: 'rgba(166,53,219,1)',
|
||||||
yunnan.value.push([bounds[i]]);
|
0.6: 'rgba(254,64,95,1)',
|
||||||
}
|
0.8: 'rgba(255,98,4,1)',
|
||||||
console.log('mask.value', yunnan.value);
|
1: 'rgba(236,220,79,1)',
|
||||||
});
|
},
|
||||||
}
|
value(index, feature) {
|
||||||
|
return feature.properties.count;
|
||||||
|
},
|
||||||
|
min: 0,
|
||||||
|
max: 10, //4.6
|
||||||
|
heightBezier: [0, 0.53, 0.37, 0.98],
|
||||||
|
});
|
||||||
|
onMounted(() => {});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.plant-gs-warp {
|
.plant-gs-warp {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user