界面调整

This commit is contained in:
zy 2025-11-14 18:30:59 +08:00
parent 94c903b7cc
commit 3bb794c240
9 changed files with 14950 additions and 12761 deletions

2
.env
View File

@ -2,7 +2,7 @@
VITE_PORT = 3100 VITE_PORT = 3100
# 网站标题 # 网站标题
VITE_GLOB_APP_TITLE = 河津市农业面源污染在线监测平台 VITE_GLOB_APP_TITLE = 汾西面源污染在线监测平台
VITE_GLOB_APP_ZY = 123123 VITE_GLOB_APP_ZY = 123123

View File

@ -2,7 +2,7 @@
VITE_USE_MOCK = true VITE_USE_MOCK = true
# 发布路径 # 发布路径
VITE_PUBLIC_PATH = / VITE_PUBLIC_PATH = /admin
# 控制台不输出 # 控制台不输出
VITE_DROP_CONSOLE = true VITE_DROP_CONSOLE = true
@ -16,7 +16,7 @@ VITE_BUILD_COMPRESS = 'gzip'
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
#后台接口父地址(必填) #后台接口父地址(必填)
VITE_GLOB_API_URL=/zh-api VITE_GLOB_API_URL=/lh-api
#后台接口全路径地址(必填) #后台接口全路径地址(必填)
#VITE_GLOB_DOMAIN_URL=http://192.168.2.111:9999/jeecg-boot #VITE_GLOB_DOMAIN_URL=http://192.168.2.111:9999/jeecg-boot

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@
<img src="../../../assets/images/logo.png" /> <img src="../../../assets/images/logo.png" />
<div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle"> <div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
<!-- {{ title }} --> <!-- {{ title }} -->
河津市农业面源污染 汾西农业面源污染
</div> </div>
</div> </div>
</template> </template>

View File

@ -11,7 +11,7 @@
/> />
<LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" /> <LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" />
<!-- 欢迎语 --> <!-- 欢迎语 -->
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> 欢迎进入 河津市农业面源污染在线监测平台 </span> <span v-if="getShowContent && getShowBreadTitle && !getIsMobile" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> 欢迎进入 汾西农业面源污染在线监测平台 </span>
</div> </div>
<!-- left end --> <!-- left end -->
@ -101,7 +101,7 @@
const { getShowTopMenu, getShowHeaderTrigger, getSplit, getIsMixMode, getMenuWidth, getIsMixSidebar } = useMenuSetting(); const { getShowTopMenu, getShowHeaderTrigger, getSplit, getIsMixMode, getMenuWidth, getIsMixSidebar } = useMenuSetting();
const { getUseErrorHandle, getShowSettingButton, getSettingButtonPosition } = useRootSetting(); const { getUseErrorHandle, getShowSettingButton, getSettingButtonPosition } = useRootSetting();
const { title } = useGlobSetting(); const { title } = useGlobSetting();
const { const {
getHeaderTheme, getHeaderTheme,
getShowFullScreen, getShowFullScreen,
@ -218,19 +218,19 @@
//update-begin---author:scott ---date:2022-09-30 for----------- //update-begin---author:scott ---date:2022-09-30 for-----------
// //
@prefix-cls: ~'@{namespace}-layout-header'; @prefix-cls: ~'@{namespace}-layout-header';
.@{prefix-cls} { .@{prefix-cls} {
display: flex; display: flex;
padding: 0 8px; padding: 0 8px;
align-items: center; align-items: center;
.headerIntroductionClass { .headerIntroductionClass {
margin-right: 4px; margin-right: 4px;
margin-bottom: 2px; margin-bottom: 2px;
border-bottom: 0px; border-bottom: 0px;
border-left: 0px; border-left: 0px;
} }
&--light { &--light {
.headerIntroductionClass { .headerIntroductionClass {
color: @breadcrumb-item-normal-color; color: @breadcrumb-item-normal-color;

View File

@ -67,8 +67,8 @@ export default {
signUpFormTitle: '注册', signUpFormTitle: '注册',
forgetFormTitle: '重置密码', forgetFormTitle: '重置密码',
signInTitle: '河津市农业面源污染在线监测平台', signInTitle: '汾西面源污染在线监测平台',
signInDesc: '河津市农业面源污染在线监测平台', signInDesc: '汾西面源污染在线监测平台',
policy: '隐私政策', policy: '隐私政策',
scanSign: `扫码后,即可完成登录`, scanSign: `扫码后,即可完成登录`,
scanSuccess: `扫码成功,登录中`, scanSuccess: `扫码成功,登录中`,

View File

@ -55,7 +55,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="部署类型" v-bind="validateInfos.deployType"> <a-form-item label="部署类型" v-bind="validateInfos.deployType">
@ -85,11 +85,11 @@
<a-input v-model:value="formData.deployDes" placeholder="请输入备注" :disabled="disabled"></a-input> <a-input v-model:value="formData.deployDes" placeholder="请输入备注" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- <a-col :span="24"> <a-col :span="24">
<a-form-item label="设备数据流地址" v-bind="validateInfos.deviceUrl"> <a-form-item label="设备链接" v-bind="validateInfos.deviceUrl">
<a-input v-model:value="formData.deviceUrl" placeholder="设备数据流地址(摄像头类设备专用)" :disabled="disabled"></a-input> <a-input v-model:value="formData.deviceUrl" placeholder="摄像头时为m3u8地址" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> --> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="设备排序" v-bind="validateInfos.sortNo"> <a-form-item label="设备排序" v-bind="validateInfos.sortNo">
<a-input-number v-model:value="formData.sortNo" placeholder="请输入设备排序" :min="0" style="width: 100%" :disabled="disabled"/> <a-input-number v-model:value="formData.sortNo" placeholder="请输入设备排序" :min="0" style="width: 100%" :disabled="disabled"/>
@ -118,8 +118,14 @@
</a-col> --> </a-col> -->
<a-col :span="24"> <a-col :span="24">
<a-form-item label="部署图片" v-bind="validateInfos.deployPic"> <a-form-item label="物联网地址" v-bind="validateInfos.deviceIotUrl">
<JImageUpload :fileMax="3" v-model:value="formData.deployPic" :disabled="disabled"></JImageUpload> <a-input v-model:value="formData.deviceIotUrl" placeholder="设备为摄像头时,为萤石云地址" :disabled="disabled"></a-input>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="物联网地址2" v-bind="validateInfos.deviceReverseIotUrl">
<a-input v-model:value="formData.deviceReverseIotUrl" placeholder="设备为摄像头时,为萤石云回放地址" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -159,7 +165,19 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="部署图片" v-bind="validateInfos.deployPic">
<JImageUpload :fileMax="3" v-model:value="formData.deployPic" :disabled="disabled"></JImageUpload>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="地图图标" v-bind="validateInfos.mapIcon">
<JImageUpload :fileMax="1" v-model:value="formData.mapIcon" :disabled="disabled"></JImageUpload>
</a-form-item>
</a-col>
<!-- <a-col :span="24"> <!-- <a-col :span="24">
<a-form-item label="上次同步时间" v-bind="validateInfos.lastsyncTime" > <a-form-item label="上次同步时间" v-bind="validateInfos.lastsyncTime" >
<a-date-picker placeholder="" v-model:value="formData.lastsyncTime" value-format="YYYY-MM-DD" style="width: 100%" disabled="true"/> <a-date-picker placeholder="" v-model:value="formData.lastsyncTime" value-format="YYYY-MM-DD" style="width: 100%" disabled="true"/>
@ -184,7 +202,7 @@
import {ApiSelect} from '/@/components/Form/index'; import {ApiSelect} from '/@/components/Form/index';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue'; import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue';
const props = defineProps({ const props = defineProps({
formDisabled: { type: Boolean, default: false }, formDisabled: { type: Boolean, default: false },
formData: { type: Object, default: ()=>{} }, formData: { type: Object, default: ()=>{} },
@ -197,31 +215,34 @@
const formData = reactive<Record<string, any>>({ const formData = reactive<Record<string, any>>({
id: '', id: '',
tenantId: '', tenantId: '',
reVision: undefined, reVision: undefined,
createdBy: '', createdBy: '',
createTime: '', createTime: '',
updatedBy: '', updatedBy: '',
isDel: undefined, isDel: undefined,
updatedTime: '', updatedTime: '',
deployCode: '', deployCode: '',
stationCode: '', stationCode: '',
runStatus: "0", runStatus: "0",
powerStatus: "0", powerStatus: "0",
lastsyncTime: '', lastsyncTime: '',
deployDes: '', deployDes: '',
deviceUrl: '', deviceUrl: '',
deviceCode:'', deviceCode:'',
sortNo: undefined, sortNo: undefined,
deployType:'', deployType:'',
xyId:'', xyId:'',
deployPic:'', deployPic:'',
mapIcon:'',
protocolDetail:{}, protocolDetail:{},
protocolArr:[], protocolArr:[],
izBaojing:'0', izBaojing:'0',
ipAddr:'', ipAddr:'',
port:'', port:'',
valveStatus:'', valveStatus:'',
deviceReverseIotUrl:'',
deviceIotUrl:'',
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
@ -234,7 +255,7 @@
// stationCode: [{ required: true, message: '', trigger: 'blur' }], // stationCode: [{ required: true, message: '', trigger: 'blur' }],
deployType: [{ required: true, message: '部署类型不能为空', trigger: 'blur' }], deployType: [{ required: true, message: '部署类型不能为空', trigger: 'blur' }],
// xyId: [{ required: true, message: '', trigger: 'blur' }], // xyId: [{ required: true, message: '', trigger: 'blur' }],
}; };
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: true }); const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: true });
@ -250,12 +271,12 @@
return props.formDisabled; return props.formDisabled;
}); });
/** /**
* 新增 * 新增
*/ */
function add() { function add() {
entrylisttags.value=[]; entrylisttags.value=[];
edit({}); edit({});
} }
@ -324,7 +345,7 @@
.finally(() => { .finally(() => {
confirmLoading.value = false; confirmLoading.value = false;
}); });
} }

View File

@ -88,6 +88,16 @@
<a-input v-model:value="formData.stationOrg" placeholder="请输入站点管理" :disabled="disabled"></a-input> <a-input v-model:value="formData.stationOrg" placeholder="请输入站点管理" :disabled="disabled"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="分组标识" v-bind="validateInfos.groupId">
<a-input v-model:value="formData.groupId" placeholder="请输入分组标识" :disabled="disabled"></a-input>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="分组名称" v-bind="validateInfos.groupName">
<a-input v-model:value="formData.groupName" placeholder="请输入分组名称" :disabled="disabled"></a-input>
</a-form-item>
</a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="大屏站点图标" v-bind="validateInfos.stationIcon"> <a-form-item label="大屏站点图标" v-bind="validateInfos.stationIcon">
<JImageUpload :fileMax="1" v-model:value="formData.stationIcon" :disabled="disabled"></JImageUpload> <JImageUpload :fileMax="1" v-model:value="formData.stationIcon" :disabled="disabled"></JImageUpload>
@ -98,7 +108,7 @@
<JImageUpload :fileMax="3" v-model:value="formData.stationPic" :disabled="disabled"></JImageUpload> <JImageUpload :fileMax="3" v-model:value="formData.stationPic" :disabled="disabled"></JImageUpload>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- <a-col :span="24"> <!-- <a-col :span="24">
<a-form-item label="监测对象" v-bind="validateInfos.survObj"> <a-form-item label="监测对象" v-bind="validateInfos.survObj">
<JCusTag v-model:value="formData.survObj" :tagArr="fatherMessage"></JCusTag> <JCusTag v-model:value="formData.survObj" :tagArr="fatherMessage"></JCusTag>
@ -121,9 +131,9 @@
import { JCusTag,ApiSelect} from '/@/components/Form/index'; import { JCusTag,ApiSelect} from '/@/components/Form/index';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue'; import JImageUpload from '/@/components/Form/src/jeecg/components/JImageUpload.vue';
let fatherMessage = ref<Array<String>>([]) let fatherMessage = ref<Array<String>>([])
const props = defineProps({ const props = defineProps({
formDisabled: { type: Boolean, default: false }, formDisabled: { type: Boolean, default: false },
formData: { type: Object, default: ()=>{} }, formData: { type: Object, default: ()=>{} },
@ -134,31 +144,33 @@
const emit = defineEmits(['register', 'ok']); const emit = defineEmits(['register', 'ok']);
const formData = reactive<Record<string, any>>({ const formData = reactive<Record<string, any>>({
id: '', id: '',
tenantId: '', tenantId: '',
reVision: undefined, reVision: undefined,
createdBy: '', createdBy: '',
createTime: '', createTime: '',
updatedBy: '', updatedBy: '',
updatedTime: '', updatedTime: '',
isDel: undefined, isDel: undefined,
stationName: '', stationName: '',
stationLatitude: '', stationLatitude: '',
stationLongitude: '', stationLongitude: '',
corpId: '', corpId: '',
sortNo: '', sortNo: '',
contactName: '', contactName: '',
stationCode: '', stationCode: '',
contactPhone: '', contactPhone: '',
buildTime: '', buildTime: '',
stationLocation: '', stationLocation: '',
survRange: '', survRange: '',
survObj: '', survObj: '',
stationType:'', stationType:'',
survFrequency:'', survFrequency:'',
stationOrg:'', stationOrg:'',
stationIntro:'', stationIntro:'',
stationPic:[], stationPic:[],
stationIcon:'', stationIcon:'',
groupId:'',
groupName:'',
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
@ -191,7 +203,7 @@
return props.formDisabled; return props.formDisabled;
}); });
/** /**
* 新增 * 新增
*/ */
@ -207,7 +219,7 @@
nextTick(() => { nextTick(() => {
resetFields(); resetFields();
// //
if(record.survObj == undefined){ if(record.survObj == undefined){
fatherMessage.value=[]; fatherMessage.value=[];
}else{ }else{
@ -251,7 +263,7 @@
confirmLoading.value = false; confirmLoading.value = false;
}); });
} }
defineExpose({ defineExpose({
add, add,

View File

@ -5,7 +5,7 @@
<div class="app-loading-dots"> <div class="app-loading-dots">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span> <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div> </div>
<div class="app-loading-title">河津市农业面源污染在线监测平台</div> <div class="app-loading-title">汾西农业面源污染在线监测平台</div>
</div> </div>
</div> </div>
</template> </template>
@ -19,7 +19,7 @@
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
export default { export default {
name: "TokenLogin", name: "TokenLogin",
setup(){ setup(){
@ -31,7 +31,7 @@
if(!routeQuery){ if(!routeQuery){
createMessage.warning('参数无效') createMessage.warning('参数无效')
} }
const token = routeQuery['loginToken']; const token = routeQuery['loginToken'];
if(!token){ if(!token){
createMessage.warning('token无效') createMessage.warning('token无效')
@ -53,7 +53,7 @@
duration: 4, duration: 4,
}); });
} }
function requestSuccess(res){ function requestSuccess(res){
let info = routeQuery.info; let info = routeQuery.info;
if(info){ if(info){
@ -206,4 +206,4 @@
} }
} }
</style> </style>