Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
6fcb7c23e6
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 |
|
|
@ -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 });
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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');
|
||||||
|
|
|
||||||
|
|
@ -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 },
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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"
|
|
||||||
@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>
|
||||||
版权所有:临沂市自然资源和规划局 |
|
{{ t('sys.subject.bottom_copyright') }}
|
||||||
技术⽀持:山东慧创信息科技有限公司 |
|
|
|
||||||
系统版本:20240705
|
{{ t('sys.subject.bottom_support') }}
|
||||||
|
|
|
||||||
|
{{ 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 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue