徐景良 2024-07-06 16:45:21 +08:00
commit 6fcb7c23e6
12 changed files with 248 additions and 100 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

View File

@ -31,6 +31,10 @@ enum Api {
Supervise = '/api/WFProcess/Supervise', Supervise = '/api/WFProcess/Supervise',
// 获取部门父级 // 获取部门父级
LoadParents = '/api/Orgs/LoadParents', LoadParents = '/api/Orgs/LoadParents',
// 审核列表收藏
AddtaskFavorite = '/api/DroneCaseInfoSingle/AddtaskFavorite',
// 审核列表删除收藏
DeleteTaskCase = '/api/DroneCaseInfoSingle/DeleteTaskCase',
} }
/** /**
@ -63,9 +67,15 @@ export function getLoadTaskDetailList(params?: taskInfoParams) {
export function addCaseFavorite(params?: addCaseFavoriteParams) { export function addCaseFavorite(params?: addCaseFavoriteParams) {
return defHttp.post({ url: Api.AddCaseFavorite, params }); return defHttp.post({ url: Api.AddCaseFavorite, params });
} }
export function addTaskFavorite(params?: {taskId:string,favoriteUserId: string}) {
return defHttp.post({ url: Api.AddtaskFavorite, params });
}
export function deleteFavoriteCase(params: string) { export function deleteFavoriteCase(params: string) {
return defHttp.post({ url: Api.DeleteFavoriteCase, data: params }); return defHttp.post({ url: Api.DeleteFavoriteCase, data: params });
} }
export function deleteTaskCase(params: string) {
return defHttp.post({ url: Api.DeleteTaskCase, data: params });
}
export function getFavoriteCaseList(params?: { uid: string }) { export function getFavoriteCaseList(params?: { uid: string }) {
return defHttp.get({ url: Api.FavoriteCaseList, params }); return defHttp.get({ url: Api.FavoriteCaseList, params });

View File

@ -93,5 +93,13 @@
"email": "邮箱", "email": "邮箱",
"smsCode": "短信验证码", "smsCode": "短信验证码",
"mobile": "手机号码" "mobile": "手机号码"
},
"subject": {
"header_title": "临沂市自然资源综合监管平台",
"header_admin": ",欢迎进入!",
"header_logout": "退出系统",
"bottom_copyright": "版权所有:临沂市自然资源和规划局",
"bottom_support": "技术⽀持:山东慧创信息科技有限公司",
"bottom_version": "系统版本v.10"
} }
} }

View File

@ -32,6 +32,13 @@
</div> </div>
<div class="screen-item"> <div class="screen-item">
<div class="screen-item-label"> <div class="screen-item-label">
<a-button
type="primary"
:style="openCollect && 'background: #bf0000;' "
@click="getCollectList"
style="margin-right: 15px">
我的收藏
</a-button>
<a-button type="primary" @click="query"></a-button> <a-button type="primary" @click="query"></a-button>
</div> </div>
</div> </div>
@ -96,12 +103,14 @@
</div> </div>
</div> </div>
<div class="data-list-item-control"> <div class="data-list-item-control">
<a-button <!-- <a-button
size="small" size="small"
:class="`reminders-button ${item.issupervise && 'reminder-button-select'}`" :class="`reminders-button ${item.issupervise && 'reminder-button-select'}`"
@click="changeSupervise(item)"> @click="changeSupervise(item)">
{{item.issupervise? '已督办': '督办'}} {{item.issupervise? '已督办': '督办'}}
</a-button> </a-button> -->
<StarFilled v-if="item.fid" style="font-size: 22px;color: #F20C00;cursor: pointer;" @click="cancelCollectItem(item)"/>
<StarOutlined v-else class="collect-button" @click="collectItem(item)"/>
<div class="button-div"> <div class="button-div">
<Icon <Icon
style="font-size: 20px; color: #0960bd; cursor: pointer" style="font-size: 20px; color: #0960bd; cursor: pointer"
@ -118,6 +127,8 @@
<div class="pagination-div" v-if="dataList.length > 0"> <div class="pagination-div" v-if="dataList.length > 0">
<a-pagination <a-pagination
size="small" size="small"
v-model:current="pageNumber"
v-model:pageSize="pageSizeNumber"
:total="total" :total="total"
show-size-changer show-size-changer
show-quick-jumper show-quick-jumper
@ -135,13 +146,11 @@
<template #footer> </template> <template #footer> </template>
<div class="handoff"> <div class="handoff">
<a-button <a-button
:disabled="showDataIndex === 0"
type="primary" type="primary"
style="margin-right: 25px;" style="margin-right: 25px;"
@click="prevData" @click="prevData"
>上一条</a-button> >上一条</a-button>
<a-button <a-button
:disabled="showDataIndex === dataList.length -1"
type="primary" type="primary"
@click="nextData" @click="nextData"
>下一条</a-button> >下一条</a-button>
@ -160,22 +169,25 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref, defineEmits } from 'vue'; import { onMounted, ref, defineEmits, computed } from 'vue';
import { StarOutlined } from '@ant-design/icons-vue'; import { StarOutlined,StarFilled } from '@ant-design/icons-vue';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
import { getLoadTaskDetailList, updateSupervise } from '@/api/bootstraps/index'; import { getLoadTaskDetailList, updateSupervise, addTaskFavorite, deleteTaskCase } from '@/api/bootstraps/index';
import { flowStore } from '@/store/modules/flow'; import { flowStore } from '@/store/modules/flow';
import { getDetail } from '@/api/sys/WFSchemeInfo'; import { getDetail } from '@/api/sys/WFSchemeInfo';
import { Audit } from '@/views/demo/workflow/task/process/page'; import { Audit } from '@/views/demo/workflow/task/process/page';
import { Empty } from 'ant-design-vue'; import { Empty } from 'ant-design-vue';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { useUserStore } from '@/store/modules/user.ts'
const userStore = useUserStore()
const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE; const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
const emits = defineEmits(['changeTask', 'changeShowParent']); const emits = defineEmits(['changeTask', 'changeShowParent']);
const flowWfDataStore = flowStore(); const flowWfDataStore = flowStore();
const props = defineProps(['areaId', 'yearOptions', 'year']); const props = defineProps(['areaId', 'yearOptions', 'year','level']);
const processId = ref(''); const processId = ref('');
const taskId = ref(''); const taskId = ref('');
const isRead: any = ref(0); const isRead: any = ref(0);
@ -183,14 +195,19 @@
const auditOpen = ref(false); const auditOpen = ref(false);
const showDataIndex = ref() const showDataIndex = ref()
const handoffShow = ref(true) const handoffShow = ref(true)
const openCollect = computed(() => {
if(params.value.type === null) return false
return true
})
const params = ref({ const params = ref({
page: 1, page: 1,
limit: 10, limit: 10,
level: null, level: props.level,
areaid: props.areaId, areaid: props.areaId,
geomid: null, geomid: null,
year: props.year, year: props.year,
is_build_complete: null, is_build_complete: null,
type: null,
}); });
const markTypeOptions = ref([ const markTypeOptions = ref([
{ label: '在建', value: 0 }, { label: '在建', value: 0 },
@ -200,6 +217,8 @@
const dataList = ref([]); const dataList = ref([]);
const total = ref(0); const total = ref(0);
const pageNumber = ref(1)
const pageSizeNumber = ref(10)
function query() { function query() {
params.value.page = 1; params.value.page = 1;
getTaskList(); getTaskList();
@ -256,11 +275,18 @@
} }
const prevData = async () => { const prevData = async () => {
if(showDataIndex.value === 0){ if(showDataIndex.value === 0){
message.warning('已经是第一条数据了') if(params.value.page === 1){
return message.warning('已经是第一条数据了')
return
}
pageNumber.value = pageNumber.value - 1
params.value.page = params.value.page -1
await getTaskList();
showDataIndex.value = dataList.value.length -1
}else{
showDataIndex.value = showDataIndex.value -1
} }
handoffShow.value = false handoffShow.value = false
showDataIndex.value = showDataIndex.value -1
let record = dataList.value[showDataIndex.value] let record = dataList.value[showDataIndex.value]
let data = await getDetail({ code: record.processcode }); let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content); let scheme = JSON.parse(data.scheme.content);
@ -273,11 +299,18 @@
} }
const nextData = async () => { const nextData = async () => {
if(showDataIndex.value === dataList.value.length -1){ if(showDataIndex.value === dataList.value.length -1){
message.warning('已经是最后一条数据了') if(Math.ceil(total.value / pageSizeNumber.value) === pageNumber.value){
return message.warning('已经是最后一条数据了')
return
}
pageNumber.value = pageNumber.value + 1
params.value.page = params.value.page + 1
await getTaskList();
showDataIndex.value = 0
}else{
showDataIndex.value = showDataIndex.value + 1
} }
handoffShow.value = false handoffShow.value = false
showDataIndex.value = showDataIndex.value + 1
let record = dataList.value[showDataIndex.value] let record = dataList.value[showDataIndex.value]
let data = await getDetail({ code: record.processcode }); let data = await getDetail({ code: record.processcode });
let scheme = JSON.parse(data.scheme.content); let scheme = JSON.parse(data.scheme.content);
@ -288,6 +321,33 @@
type.value = record.type; type.value = record.type;
handoffShow.value = true handoffShow.value = true
} }
const cancelCollectItem = (item) => {
deleteTaskCase(item.fid).then(res => {
message.success('取消收藏成功')
getTaskList();
})
}
const collectItem = (item) => {
let userInfo = userStore.getUserInfo
let params = {
taskId: item.taskeid,
favoriteUserId: userInfo.id
}
addTaskFavorite(params).then(res => {
message.success('收藏成功')
getTaskList();
})
}
const getCollectList = () => {
if(params.value.type === null){
params.value.type = 1
}else if(params.value.type === 1){
params.value.type = null
}
params.value.page = 1
pageNumber.value = 1
getTaskList();
}
</script> </script>
<style lang="less"> <style lang="less">
.full-modal { .full-modal {
@ -449,6 +509,13 @@
background: rgb(242, 12, 0); background: rgb(242, 12, 0);
} }
} }
.collect-button:hover {
color: rgb(255, 205, 42);
}
.collect-button{
color:#086DEC;
font-size: 22px;
}
.button-div { .button-div {
height: 30px; height: 30px;
width: 30px; width: 30px;
@ -458,9 +525,6 @@
border: 1px solid #d9d9d9; border: 1px solid #d9d9d9;
border-radius: 50%; border-radius: 50%;
margin-left: 10px; margin-left: 10px;
.collect-button:hover {
color: rgb(255, 205, 42);
}
} }
} }
} }

View File

@ -15,6 +15,7 @@
@changeTask="changeTask" @changeTask="changeTask"
@changeShowParent="changeShowParent" @changeShowParent="changeShowParent"
:areaId="areaId" :areaId="areaId"
:level="level"
:year="year" :year="year"
:yearOptions="yearOptions" :yearOptions="yearOptions"
v-else v-else
@ -71,6 +72,7 @@
]); ]);
const dataList = ref([]); const dataList = ref([]);
const areaId = ref(''); const areaId = ref('');
const level = ref()
const auditProgressScreenChange = (value, type) => { const auditProgressScreenChange = (value, type) => {
console.log(value, type); console.log(value, type);
switch (type) { switch (type) {
@ -83,10 +85,11 @@
} }
getCountList(); getCountList();
}; };
const changeShowInfo = (value) => { const changeShowInfo = (item) => {
console.log(value); console.log(item);
showParent.value = false; showParent.value = false;
areaId.value = value; areaId.value = item.areaid;
level.value = item.level
}; };
function changeShowParent() { function changeShowParent() {
console.log('dedededede'); console.log('dedededede');

View File

@ -25,7 +25,7 @@ export const measureOptions = [
] ]
export const mapStatusOptions = [ export const mapStatusOptions = [
{ label: '待接收', value: 0 }, { label: '待接收', value: 0 },
{ label: '待判定', value: 1 }, { label: '待填报', value: 1 },
{ label: '待整改', value: 2 }, { label: '待整改', value: 2 },
{ label: '待审核', value: 3 }, { label: '待审核', value: 3 },
{ label: '已完成', value: 4 }, { label: '已完成', value: 4 },

View File

@ -38,7 +38,7 @@
<a-input <a-input
v-model:value="db.tableName" v-model:value="db.tableName"
:disabled="!isNewTable(db)" :disabled="!isNewTable(db)"
@change="db.tableName = db.tableName.toLowerCase();" @change="db.tableName = db.tableName.toLowerCase()"
/> />
</a-col> </a-col>
<a-col class="gutter-row" :span="11"> <a-col class="gutter-row" :span="11">
@ -65,6 +65,8 @@
v-model:value="record.dbColumnName" v-model:value="record.dbColumnName"
:disabled="!isNewFormItem(record)" :disabled="!isNewFormItem(record)"
@change="record.dbColumnName = record.dbColumnName.toLowerCase()" @change="record.dbColumnName = record.dbColumnName.toLowerCase()"
@focus="focusDbColumnName = record.dbColumnName"
@blur="replaceInJsonDbColumnName(record.dbColumnName)"
/> />
</div> </div>
</template> </template>
@ -152,6 +154,7 @@
let dbColumnInfo = { let dbColumnInfo = {
tableName: '', tableName: '',
dbColumnName: '', dbColumnName: '',
field: '',
dataType: '', dataType: '',
length: 0, length: 0,
columnDescription: '', columnDescription: '',
@ -171,7 +174,7 @@
// //
let notComponentArray = ['Divider', 'Button']; let notComponentArray = ['Divider', 'Button'];
// //
let fieldArray = ['MapGeom']; let mapGeomArray = 'MapGeom';
let gridArray = ['Grid', 'Card', 'CardGroup', 'Tabs']; let gridArray = ['Grid', 'Card', 'CardGroup', 'Tabs'];
// //
@ -297,10 +300,11 @@
// 线 // 线
if (item.component && !notComponentArray.includes(item.component)) { if (item.component && !notComponentArray.includes(item.component)) {
// //
if (fieldArray.includes(item.field)) { if (mapGeomArray == item.component) {
db_temp.dbColumnInfoList.push({ db_temp.dbColumnInfoList.push({
tableName: db_temp.tableName, tableName: db_temp.tableName,
dbColumnName: 'gid', dbColumnName: 'gid',
field: item.field,
dataType: 'varchar', dataType: 'varchar',
length: 200, length: 200,
columnDescription: '图斑组件id', columnDescription: '图斑组件id',
@ -312,6 +316,7 @@
db_temp.dbColumnInfoList.push({ db_temp.dbColumnInfoList.push({
tableName: db_temp.tableName, tableName: db_temp.tableName,
dbColumnName: 'geom', dbColumnName: 'geom',
field: item.field,
dataType: 'geometry(GEOMETRY)', dataType: 'geometry(GEOMETRY)',
length: 0, length: 0,
columnDescription: '图斑组件', columnDescription: '图斑组件',
@ -366,7 +371,7 @@
ch.csType = 'string'; ch.csType = 'string';
} }
// -/ // -/
else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) {
getSchemeByscheme( getSchemeByscheme(
ch, ch,
dbCode, dbCode,
@ -382,7 +387,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (ch.component + ch.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, ch.field) ||
(ch.component + ch.field).toLowerCase();
temp.field = ch.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = ch.label; temp.columnDescription = ch.label;
@ -417,7 +425,10 @@
// //
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (item.component + item.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, item.field) ||
(item.component + item.field).toLowerCase();
temp.field = item.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = item.label; temp.columnDescription = item.label;
@ -492,7 +503,7 @@
schemas?.forEach((item: any, index: number) => { schemas?.forEach((item: any, index: number) => {
// 线 // 线
if (item.component && !notComponentArray.includes(item.component)) { if (item.component && !notComponentArray.includes(item.component)) {
if (fieldArray.includes(item.field)) { if (mapGeomArray == item.component) {
// - // -
item.componentProps.dataTable = db_temp.tableName; item.componentProps.dataTable = db_temp.tableName;
item.componentProps.fieldName = 'gid'; item.componentProps.fieldName = 'gid';
@ -537,7 +548,7 @@
ch.csType = 'string'; ch.csType = 'string';
} }
// -/ // -/
else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) {
getSchemeByscheme( getSchemeByscheme(
ch, ch,
dbCode, dbCode,
@ -553,7 +564,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (ch.component + ch.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, ch.field) ||
(ch.component + ch.field).toLowerCase();
temp.field = ch.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = ch.label; temp.columnDescription = ch.label;
@ -590,7 +604,7 @@
ch.csType = 'string'; ch.csType = 'string';
} }
// -/ // -/
else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) {
getSchemeByscheme( getSchemeByscheme(
ch, ch,
dbCode, dbCode,
@ -606,7 +620,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (ch.component + ch.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, ch.field) ||
(ch.component + ch.field).toLowerCase();
temp.field = ch.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = ch.label; temp.columnDescription = ch.label;
@ -643,7 +660,7 @@
ch.csType = 'string'; ch.csType = 'string';
} }
// -/ // -/
else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) {
getSchemeByscheme( getSchemeByscheme(
ch, ch,
dbCode, dbCode,
@ -659,7 +676,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (ch.component + ch.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, ch.field) ||
(ch.component + ch.field).toLowerCase();
temp.field = ch.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = ch.label; temp.columnDescription = ch.label;
@ -697,7 +717,7 @@
ch.csType = 'string'; ch.csType = 'string';
} }
// -/ // -/
else if (fieldArray.includes(ch.field) || gridArray.includes(ch.component)) { else if (mapGeomArray == ch.component || gridArray.includes(ch.component)) {
getSchemeByscheme( getSchemeByscheme(
ch, ch,
dbCode, dbCode,
@ -713,7 +733,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (ch.component + ch.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, ch.field) ||
(ch.component + ch.field).toLowerCase();
temp.field = ch.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = ch.label; temp.columnDescription = ch.label;
@ -733,7 +756,10 @@
else { else {
let temp = cloneDeep(dbColumnInfo); let temp = cloneDeep(dbColumnInfo);
temp.tableName = db_temp.tableName.toLowerCase(); temp.tableName = db_temp.tableName.toLowerCase();
temp.dbColumnName = (item.component + item.field).toLowerCase(); temp.dbColumnName =
getDbColumnNameFormOldDb(db_temp.tableName, item.field) ||
(item.component + item.field).toLowerCase();
temp.field = item.field;
temp.length = 200; temp.length = 200;
temp.dataType = 'varchar'; temp.dataType = 'varchar';
temp.columnDescription = item.label; temp.columnDescription = item.label;
@ -792,6 +818,20 @@
} }
}); });
} }
//
function getDbColumnNameFormOldDb(tableName, field) {
let dbColumnNameFromOldDb = '';
oldDb.forEach((old) => {
if (old.tableName == tableName) {
old.dbColumnInfoList.forEach((dbColumnInfo) => {
if (dbColumnInfo.field == field) {
dbColumnNameFromOldDb = dbColumnInfo.dbColumnName;
}
});
}
});
return dbColumnNameFromOldDb;
}
// //
async function submit() { async function submit() {
@ -807,7 +847,7 @@
if (db.name != db.tableName) { if (db.name != db.tableName) {
// scheme // scheme
let scheme_replace = saveFormDatas.scheme.scheme; let scheme_replace = saveFormDatas.scheme.scheme;
scheme_replace = replaceInJson(scheme_replace, db.name, db.tableName); scheme_replace = replaceInJsonTableName(scheme_replace, db.name, db.tableName);
saveFormDatas.scheme.scheme = scheme_replace; saveFormDatas.scheme.scheme = scheme_replace;
// db // db
@ -934,15 +974,33 @@
} }
// //
function replaceInJson(jsonString, itemToReplace, newItem) { function replaceInJsonTableName(jsonString, itemToReplace, newItem) {
// 使 // 使
// itemToReplace // itemToReplace
let escapedItem = itemToReplace.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); let escapedItem = ('"dataTable":"' + itemToReplace + '"').replace(
/[-/\\^$*+?.()|[\]{}]/g,
'\\$&',
);
let regex = new RegExp(escapedItem, 'g'); let regex = new RegExp(escapedItem, 'g');
let replacedJsonString = jsonString.replace(regex, newItem); let replacedJsonString = jsonString.replace(regex, '"dataTable":"' + newItem + '"');
return replacedJsonString; return replacedJsonString;
} }
//
let focusDbColumnName = '';
//
function replaceInJsonDbColumnName(newItem) {
// 使
// focusDbColumnName
let scheme_replace = saveFormDatas.scheme.scheme;
let escapedItem = ('"fieldName":"' + focusDbColumnName + '"').replace(
/[-/\\^$*+?.()|[\]{}]/g,
'\\$&',
);
let regex = new RegExp(escapedItem, 'g');
saveFormDatas.scheme.scheme = scheme_replace.replace(regex, '"fieldName":"' + newItem + '"');
}
// relationField // relationField
function getRelationField() { function getRelationField() {
// primaryKey // primaryKey
@ -1041,6 +1099,10 @@
} }
}); });
}); });
//
if (['gid', 'geom'].includes(item.dbColumnName)) {
flag = false;
}
return flag; return flag;
} }
</script> </script>

View File

@ -31,8 +31,8 @@
</template> </template>
</template> </template>
</BasicTable> </BasicTable>
<SpecialModal ref="modalForm" @register="registerModal" @submit="submit" />
</div> </div>
<SpecialModal ref="modalForm" @register="registerModal" @submit="submit" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">

View File

@ -2,19 +2,14 @@
<div class="subject"> <div class="subject">
<div class="subject_header"> <div class="subject_header">
<div class="subject_header_title"> <div class="subject_header_title">
<span>临沂市自然资源无人机全域巡查平台</span> <span> {{ t('sys.subject.header_title') }}</span>
</div> </div>
<div class="logout" title="退出登录"> <div class="subject_header_adminAndLogout">
<Icon <img src="/subject/subject_header_admin.png" />
style="font-size: 30px; color: #fff; cursor: pointer" <span> {{ loginUser }} {{ t('sys.subject.header_admin') }}</span>
icon="ion:power-outline" &nbsp;&nbsp;&nbsp;&nbsp;
@click="handleLoginOut()" <img src="/subject/subject_header_logout.png" @click="handleLoginOut()" />
/> <span @click="handleLoginOut()">{{ t('sys.subject.header_logout') }}</span>
</div>
</div>
<div class="subject_title">
<div>
<span>欢迎登录临沂市自然资源无人机全域巡查平台</span>
</div> </div>
</div> </div>
<div class="subject_box"> <div class="subject_box">
@ -53,25 +48,27 @@
<div class="subject_box_overflow"> <div class="subject_box_overflow">
<Icon <Icon
v-if="list.length > 7" v-if="list.length > 7"
style="font-size: 40px" style="font-size: 31px"
class="subject_box_overflow_icon1" class="subject_box_overflow_icon1"
icon="ant-design:right-circle-outlined" icon="ant-design:right-outlined"
@click="scrollToElement('right')" @click="scrollToElement('right')"
/> />
<Icon <Icon
v-if="list.length > 7" v-if="list.length > 7"
style="font-size: 40px" style="font-size: 31px"
class="subject_box_overflow_icon2" class="subject_box_overflow_icon2"
icon="ant-design:left-circle-outlined" icon="ant-design:left-outlined"
@click="scrollToElement('left')" @click="scrollToElement('left')"
/> />
</div> </div>
</div> </div>
<div class="subject_bottom"> <div class="subject_bottom">
<span> <span>
版权所有临沂市自然资源和规划局&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; {{ t('sys.subject.bottom_copyright') }}
技术山东慧创信息科技有限公司&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;
系统版本20240705 {{ t('sys.subject.bottom_support') }}
&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;
{{ t('sys.subject.bottom_version') }}
</span> </span>
</div> </div>
</div> </div>
@ -83,9 +80,13 @@
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
import { getAppEnvConfig } from '@/utils/env'; import { getAppEnvConfig } from '@/utils/env';
import { useI18n } from '@/hooks/web/useI18n';
const { VITE_GLOB_API_URL } = getAppEnvConfig(); const { VITE_GLOB_API_URL } = getAppEnvConfig();
const VITE_GLOB_API_URL_VAR = ref<String>(VITE_GLOB_API_URL + '/'); const VITE_GLOB_API_URL_VAR = ref<String>(VITE_GLOB_API_URL + '/');
const { t } = useI18n();
let loginUser = localStorage.getItem('fireUserLoginName');
const contentArea = ref<HTMLElement | null>(null); const contentArea = ref<HTMLElement | null>(null);
const list: any = ref([]); const list: any = ref([]);
const userStore = useUserStore(); const userStore = useUserStore();
@ -167,41 +168,46 @@
width: 100%; width: 100%;
&_title { &_title {
position: absolute;
top: 19px;
left: calc(50% - 640px / 2);
span { span {
width: 592px; display: inline-flex;
height: 43px; align-items: center;
text-align: center;
justify-content: center;
width: 100%;
height: 82px;
font-family: 068-SSZhengYaTi; font-family: 068-SSZhengYaTi;
font-weight: 400; font-weight: 400;
font-size: 40px; font-size: 44px;
color: #ffffff; color: #ffffff;
} }
} }
}
&_title { &_adminAndLogout {
background-image: url('/subject/subject_title.png');
position: absolute;
top: 112px;
left: calc(50% - 756px / 2);
height: 133px;
width: 800px;
span {
position: absolute; position: absolute;
top: 49px; right: 87px;
top: 0px;
height: 40px;
display: inline-flex;
align-items: center; align-items: center;
justify-content: center;
width: 756px; img {
height: 37px; cursor: pointer;
font-family: PingFang SC; width: 31px;
font-weight: 400; height: 31px;
font-size: 36px; }
color: #ffffff;
line-height: 28px; span {
display: inline-flex;
align-items: center;
text-align: center;
justify-content: center;
height: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 14px;
color: #006cff;
line-height: 28px;
}
} }
} }
@ -210,7 +216,7 @@
&_btn { &_btn {
position: relative; position: relative;
top: 340px; top: 190px;
left: 100px; left: 100px;
height: 400px; height: 400px;
width: 1720px; width: 1720px;
@ -232,12 +238,12 @@
// //
transition: transform 1s; transition: transform 1s;
// //
// animation: cardRotation 5s linear infinite; animation: cardRotation 6s linear infinite;
&:hover { &:hover {
filter: brightness(150%); filter: brightness(150%);
cursor: pointer; cursor: pointer;
box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5); box-shadow: 20px 10px 10px rgba(0, 0, 0, 0.5);
// //
// //
@ -295,13 +301,13 @@
&_overflow { &_overflow {
position: relative; position: relative;
top: 340px; top: 190px;
left: 100px; left: 100px;
height: 300px; height: 300px;
width: 100px; width: 100px;
&_icon1 { &_icon1 {
color: #fff; color: #006cff;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
top: 100px; top: 100px;
@ -309,11 +315,11 @@
} }
&_icon2 { &_icon2 {
color: #fff; color: #006cff;
cursor: pointer; cursor: pointer;
position: relative; position: relative;
top: 200px; top: 200px;
left: -20px; left: -10px;
} }
} }
} }
@ -332,11 +338,6 @@
left: calc(50% - 902px / 2); left: calc(50% - 902px / 2);
} }
} }
.logout {
position: absolute;
right: 100px;
top: 30px;
}
// 线 // 线
.circle { .circle {