diff --git a/main/src/components/custom-echart-bar-line/index.vue b/main/src/components/custom-echart-bar-line/index.vue deleted file mode 100644 index cdc2fc2..0000000 --- a/main/src/components/custom-echart-bar-line/index.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/main/src/components/index.js b/main/src/components/index.js index 8134b9d..ea6a9e3 100644 --- a/main/src/components/index.js +++ b/main/src/components/index.js @@ -9,7 +9,6 @@ import CustomEchartBar from './custom-echart-bar'; import CustomEchartPie from './custom-echart-pie'; import CustomEchartLine from './custom-echart-line'; import CustomEchartMixin from './custom-echart-mixin'; -import CustomEchartBarLine from './custom-echart-bar-line'; import customEchartPictorialBar from './custom-echart-pictorial-bar'; import CustomEchartLineLine from './custom-echart-line-line'; import CustomEchartBubble from './custom-echart-bubble'; @@ -27,7 +26,6 @@ export { CustomEchartPie, CustomEchartLine, CustomEchartMixin, - CustomEchartBarLine, customEchartPictorialBar, CustomEchartLineLine, CustomEchartBubble, diff --git a/sub-government-affairs-service/src/utils/index.js b/sub-government-affairs-service/src/utils/index.js index 661856d..8563816 100644 --- a/sub-government-affairs-service/src/utils/index.js +++ b/sub-government-affairs-service/src/utils/index.js @@ -466,3 +466,18 @@ export const endDate = (num = 0, type = 'month', formater = 'YYYY-MM-DD HH:mm:ss if (typeof num === 'string') return dayjs(num).endOf(type).format(formater); return num === 0 ? dayjs().endOf(type).format(formater) : dayjs().subtract(num, type).endOf(type).format(formater); }; + +/** + * @Title: 生成随机数 + * @param len + * @returns + */ +export const randomNumber = (len) => { + let randomlen = len ? len : 10; + const chars = '0123456789'; + let result = ''; + for (let i = 0; i < randomlen; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; +}; diff --git a/sub-government-affairs-service/src/views/dict/component/dictCrop/component/stage.vue b/sub-government-affairs-service/src/views/dict/component/dictCrop/component/stage.vue index 69bb0a9..d475cff 100644 --- a/sub-government-affairs-service/src/views/dict/component/dictCrop/component/stage.vue +++ b/sub-government-affairs-service/src/views/dict/component/dictCrop/component/stage.vue @@ -1,8 +1,7 @@ - - + + diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/history.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/history.vue index 92cc35e..7367685 100644 --- a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/history.vue +++ b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/history.vue @@ -83,7 +83,7 @@ let currentRow = reactive({}); const loadList = () => { if (isShowVal.value) { - console.info('loadList', props); + // console.info('loadList', props); getList(); } }; diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue new file mode 100644 index 0000000..45bfcd1 --- /dev/null +++ b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/inputsList.vue @@ -0,0 +1,181 @@ + + + diff --git a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue index 5048fd1..ff1c7bb 100644 --- a/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue +++ b/sub-government-affairs-service/src/views/landManage/component/plantPlan/component/stage.vue @@ -27,6 +27,22 @@ {{ stageObj[row.stage] }} + + + + + + @@ -41,6 +57,7 @@ import { CRUD_OPTIONS } from '@/config'; import { useUserStore } from '@/store/modules/user'; import { getPlantingStage, savePlantingStage, editPlantingStage, delPlantingStage } from '@/apis/land.js'; import { isEmpty, imageToBase64, getAssetsFile, downloadFile } from '@/utils'; +import inputs from '../component/inputsList.vue'; const props = defineProps({ isShow: { @@ -56,15 +73,16 @@ const props = defineProps({ }); const emit = defineEmits(['close']); +let refinputs = ref(null); const { VITE_APP_BASE_API } = import.meta.env; const app = useApp(); const UserStore = useUserStore(); const stateCrudRef = ref(null); const stageOptions = reactive([ - { value: '0', label: '苗期' }, - { value: '1', label: '花果期' }, - { value: '2', label: '采收期' }, + { value: 0, label: '苗期' }, + { value: 1, label: '花果期' }, + { value: 2, label: '采收期' }, ]); const workOptions = reactive([ @@ -87,7 +105,7 @@ let currentRow = reactive({}); const loadList = () => { if (isShowVal.value) { - console.info('loadList', props); + // console.info('loadList', props); getStageList(); } }; @@ -120,29 +138,27 @@ const stageState = reactive({ addBtn: false, selection: false, group: [ - { label: '所属阶段', prop: 'stage' }, - { label: '作业类型', prop: 'workType' }, - { label: '作业时间', prop: 'operationDate' }, + { + prop: 'inputs', + label: '投入品', + column: [ + { + prop: 'input', + span: 24, + labelWidth: 0, + }, + ], + }, ], column: [ - // { - // label: '种植产物', - // prop: 'cropId', - // type: 'select', - // remote: false, - // width: '160px', - // showOverflowTooltip: true, - // props: { - // label: 'crop', - // value: 'id', - // }, - // dicHeaders: { - // authorization: UserStore.token, - // }, - // dicUrl: `${VITE_APP_BASE_API}/land-resource/baseInfo/planTypePage?current=1&size=999`, - // dicFormatter: (res) => res.data.records ?? [], - // rules: [{ required: true, message: '请选择', trigger: 'blur' }], - // }, + { + prop: 'input', + label: '投入品', + editDisplay: false, + addDisplay: false, + span: 24, + labelWidth: 0, + }, { label: '所属阶段', prop: 'stage', @@ -154,6 +170,8 @@ const stageState = reactive({ message: '请选择', trigger: 'blur', }, + editDisplay: true, + addDisplay: true, }, { label: '作业类型', @@ -174,21 +192,14 @@ const stageState = reactive({ dicFormatter: (res) => res.data.records ?? [], rules: { required: true, message: '请选择', trigger: 'blur' }, change: handleWorkChange, - }, - { - label: '作业时间(多少天后)', - prop: 'workTime', - rules: { required: true, message: '请输入', trigger: 'blur' }, - props: { - type: 'Number', - }, - addDisabled: true, - editDisplay: false, - viewDisplay: false, + editDisplay: true, + addDisplay: true, }, { label: '作业时间', - prop: 'operationDate', + prop: 'workTime', + rules: { required: true, message: '请输入', trigger: 'blur' }, + addDisabled: true, editDisplay: false, addDisplay: false, }, @@ -222,7 +233,11 @@ async function getStageList() { .then((res) => { if (res.code === 200) { const { current, size, total, records } = res.data; - stageState.data = records || []; + // stageState.data = records || []; + stageState.data = + records.map((m) => { + return { ...m, input: m.input ? JSON.parse(m.input) : [] }; + }) || []; stageState.pageData = { currentPage: current || 1, pageSize: size || 10, @@ -285,19 +300,22 @@ const stageRowDel = (row, index, done) => { .catch(() => {}); }; const stageRowEdit = (row) => { + stageState.currentRow = row; stateCrudRef.value.rowEdit(row); }; const onStateAdd = () => { + stageState.currentRow = {}; if (!currentRow.id) { app.$message.error('请选择种植规划'); return; } - stateCrudRef.value.rowAdd(); + stateCrudRef.value.rowAdd({}); }; const stageRowSave = (row, done, loading) => { row.planId = currentRow.id; + row.input = JSON.stringify(refinputs.value ? refinputs.value.saveList() : []); console.info('stageRowSave', row); savePlantingStage({ ...row }) .then((res) => { @@ -317,6 +335,7 @@ const stageRowSave = (row, done, loading) => { const stageRowUpdate = (row, index, done, loading) => { console.info('stageRowUpdate'); + row.input = JSON.stringify(refinputs.value ? refinputs.value.saveList() : []); editPlantingStage(row) .then((res) => { if (res.code === 200) { diff --git a/sub-government-screen-service/src/components/currentTime.vue b/sub-government-screen-service/src/components/currentTime.vue index 98bfce9..d596602 100644 --- a/sub-government-screen-service/src/components/currentTime.vue +++ b/sub-government-screen-service/src/components/currentTime.vue @@ -36,11 +36,19 @@ const startTime = () => { const chearTime = () => { if (interval.value) { - interval.value = null; clearInterval(interval.value); + interval.value = null; } }; +onMounted(() => { + // startTime(); +}); + +onUnmounted(() => { + // chearTime(); +}); + defineExpose({ startTime, chearTime, @@ -50,7 +58,7 @@ defineExpose({ .current-time-warp { position: fixed; right: 16px; - top: 32px; + top: 24px; color: #add8f1; z-index: 2; } diff --git a/sub-government-screen-service/src/utils/index.js b/sub-government-screen-service/src/utils/index.js index 661856d..8563816 100644 --- a/sub-government-screen-service/src/utils/index.js +++ b/sub-government-screen-service/src/utils/index.js @@ -466,3 +466,18 @@ export const endDate = (num = 0, type = 'month', formater = 'YYYY-MM-DD HH:mm:ss if (typeof num === 'string') return dayjs(num).endOf(type).format(formater); return num === 0 ? dayjs().endOf(type).format(formater) : dayjs().subtract(num, type).endOf(type).format(formater); }; + +/** + * @Title: 生成随机数 + * @param len + * @returns + */ +export const randomNumber = (len) => { + let randomlen = len ? len : 10; + const chars = '0123456789'; + let result = ''; + for (let i = 0; i < randomlen; i++) { + result += chars.charAt(Math.floor(Math.random() * chars.length)); + } + return result; +}; diff --git a/sub-government-screen-service/src/views/entities/components/entitiesStatistics.vue b/sub-government-screen-service/src/views/entities/components/entitiesStatistics.vue index b5cbac7..0102615 100644 --- a/sub-government-screen-service/src/views/entities/components/entitiesStatistics.vue +++ b/sub-government-screen-service/src/views/entities/components/entitiesStatistics.vue @@ -62,10 +62,10 @@ const chartsData = reactive({ { name: '耿马', value: 100, type: '合作社', seriesType: 'bar', stack: '耿马' }, { name: '耿马', value: 60, type: '经营企业', seriesType: 'bar', stack: '耿马', itemStyle: { borderRadius: [8, 8, 0, 0] } }, { name: '耿马', value: 10, type: '趋势', seriesType: 'line' }, - { name: '大香乡', value: 20, type: '个体户', seriesType: 'bar', stack: '耿马' }, - { name: '大香乡', value: 20, type: '村集体', seriesType: 'bar', stack: '耿马' }, - { name: '大香乡', value: 80, type: '合作社', seriesType: 'bar', stack: '耿马' }, - { name: '大香乡', value: 40, type: '经营企业', seriesType: 'bar', stack: '耿马', itemStyle: { borderRadius: [8, 8, 0, 0] } }, + { name: '大香乡', value: 20, type: '个体户', seriesType: 'bar', stack: '大香乡' }, + { name: '大香乡', value: 20, type: '村集体', seriesType: 'bar', stack: '大香乡' }, + { name: '大香乡', value: 80, type: '合作社', seriesType: 'bar', stack: '大香乡' }, + { name: '大香乡', value: 40, type: '经营企业', seriesType: 'bar', stack: '大香乡', itemStyle: { borderRadius: [8, 8, 0, 0] } }, { name: '大香乡', value: 50, type: '趋势', seriesType: 'line' }, ], }); diff --git a/sub-government-screen-service/src/views/entities/components/entitieslist.vue b/sub-government-screen-service/src/views/entities/components/entitieslist.vue index 2c62c5c..a32b52e 100644 --- a/sub-government-screen-service/src/views/entities/components/entitieslist.vue +++ b/sub-government-screen-service/src/views/entities/components/entitieslist.vue @@ -80,7 +80,7 @@ const classOptions = { .item-td { padding: 4px 6px; &.td-title { - color: #6cd1f9 !important; + color: #6beff9 !important; } &.zebra-b { background: #051225 !important; diff --git a/sub-government-screen-service/src/views/home/components/comprehensive.vue b/sub-government-screen-service/src/views/home/components/comprehensive.vue index e3a9837..154d1be 100644 --- a/sub-government-screen-service/src/views/home/components/comprehensive.vue +++ b/sub-government-screen-service/src/views/home/components/comprehensive.vue @@ -156,7 +156,7 @@ watch( font-size: 13px; } .value { - color: #6cd1f9; + color: #6beff9; font-size: 16px; font-weight: bold; margin-top: 6px; diff --git a/sub-government-screen-service/src/views/home/components/inputs.vue b/sub-government-screen-service/src/views/home/components/inputs.vue index ab7e27e..64c862f 100644 --- a/sub-government-screen-service/src/views/home/components/inputs.vue +++ b/sub-government-screen-service/src/views/home/components/inputs.vue @@ -142,7 +142,7 @@ watch( font-size: 13px; } .value { - color: #6cd1f9; + color: #6beff9; font-size: 16px; font-weight: bold; margin-top: 6px; diff --git a/sub-government-screen-service/src/views/home/components/plantBreedCharts.vue b/sub-government-screen-service/src/views/home/components/plantBreedCharts.vue index 1a4ae45..8cbf8b2 100644 --- a/sub-government-screen-service/src/views/home/components/plantBreedCharts.vue +++ b/sub-government-screen-service/src/views/home/components/plantBreedCharts.vue @@ -16,7 +16,7 @@ const plantBreed = ref({ }, }, legend: { - data: ['耕地', '林地', '建设用地'], + data: ['种植面积', '养殖面积', '种植基地', '养殖基地'], right: '0', // 距离左侧10%的位置 top: 'middle', // 垂直居中 orient: 'vertical', // 图例垂直排列 @@ -46,9 +46,10 @@ const plantBreed = ref({ ], }, valData: [ - { value: 100, name: '耕地' }, - { value: 105, name: '林地' }, - { value: 217, name: '建设用地' }, + { value: 100, name: '种植面积' }, + { value: 105, name: '养殖面积' }, + { value: 217, name: '种植基地' }, + { value: 315, name: '养殖基地' }, ], }); diff --git a/sub-government-screen-service/src/views/home/components/rolllist.vue b/sub-government-screen-service/src/views/home/components/rolllist.vue index 7f8194f..659e106 100644 --- a/sub-government-screen-service/src/views/home/components/rolllist.vue +++ b/sub-government-screen-service/src/views/home/components/rolllist.vue @@ -1,14 +1,18 @@