Merge branch 'master' of http://47.109.37.87:3000/by2025/admin-vben5
Some checks failed
/ Explore-Gitea-Actions (push) Failing after 5m15s

This commit is contained in:
zcxlsm 2025-08-20 17:23:25 +08:00
commit c4d503f9b8
8 changed files with 49 additions and 38 deletions

View File

@ -10,28 +10,39 @@ jobs:
- name: 拉取代码仓库 - name: 拉取代码仓库
uses: http://git.missmoc.top/mocheng/checkout@v4 uses: http://git.missmoc.top/mocheng/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }} - name: Set up Node.js
uses: http://git.missmoc.top/mocheng/setup-node@v3 uses: http://git.missmoc.top/mocheng/setup-node@v3
with: with:
node-version: 20.x node-version: 20.x
- name: pnpm
- name: 安装pnpm
run: npm i pnpm -g run: npm i pnpm -g
- name: node
run: | - name: 安装依赖
pnpm config set registry https://registry.npmmirror.com run: pnpm install
pnpm install continue-on-error: false # 依赖安装失败则终止工作流
- name: Build - name: 构建项目
run: pnpm build:antd run: pnpm build:antd
- name: copy file via ssh password continue-on-error: false # 构建失败则终止工作流
- name: 检查构建结果
run: |
if [ ! -d "./apps/web-antd/dist" ]; then
echo "构建目录不存在,构建失败"
exit 1
fi
if [ -z "$(ls -A ./apps/web-antd/dist)" ]; then
echo "构建目录为空,构建失败"
exit 1
fi
- name: 通过SSH复制文件
uses: http://git.missmoc.top/mocheng/scp-action@v0.1.7 uses: http://git.missmoc.top/mocheng/scp-action@v0.1.7
with: with:
host: 127.0.0.1 host: 127.0.0.1
username: ${ { SERVER_NAME } } username: ${{ secrets.SERVER_NAME }} # 使用secrets存储
password: ${{ SERVER_PWD}} password: ${{ secrets.SERVER_PWD }} # 使用secrets存储
port: 11001 port: 11001
source: "./apps/web-antd/dist" source: "./apps/web-antd/dist"
target: "/www/wwwroot/183.230.235.66_11010/property" target: "/www/wwwroot/183.230.235.66_11010/property"

View File

@ -10,6 +10,7 @@ import { activitiesAdd, activitiesInfo, activitiesUpdate } from '#/api/property/
import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup'; import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup';
import { modalSchema } from './data'; import { modalSchema } from './data';
import dayjs from "dayjs";
const emit = defineEmits<{ reload: [] }>(); const emit = defineEmits<{ reload: [] }>();
@ -59,6 +60,8 @@ const [BasicModal, modalApi] = useVbenModal({
if (isUpdate.value && id) { if (isUpdate.value && id) {
const record = await activitiesInfo(id); const record = await activitiesInfo(id);
dayjs(record.startTime, 'YYYY-MM-DD HH:mm:ss')
dayjs(record.endTime, 'YYYY-MM-DD HH:mm:ss')
await formApi.setValues(record); await formApi.setValues(record);
} }
await markInitialized(); await markInitialized();
@ -76,6 +79,8 @@ async function handleConfirm() {
} }
// getValuesreadonly // getValuesreadonly
const data = cloneDeep(await formApi.getValues()); const data = cloneDeep(await formApi.getValues());
data.startTime = dayjs(data.startTime).format('YYYY-MM-DD HH:mm:ss');
data.endTime = dayjs(data.endTime).format('YYYY-MM-DD HH:mm:ss');
await (isUpdate.value ? activitiesUpdate(data) : activitiesAdd(data)); await (isUpdate.value ? activitiesUpdate(data) : activitiesAdd(data));
resetInitialized(); resetInitialized();
emit('reload'); emit('reload');

View File

@ -37,7 +37,7 @@ export const columns: VxeGridProps['columns'] = [
}, },
{ {
title: '创建人', title: '创建人',
field: 'title', field: 'createName',
}, },
{ {
title: '开始时间', title: '开始时间',
@ -90,7 +90,7 @@ export const modalSchema: FormSchemaGetter = () => [
maxCount: 1, maxCount: 1,
}, },
formItemClass: 'col-span-2', formItemClass: 'col-span-2',
rules: 'required', // rules: 'required',
}, },
{ {
label: '开始时间', label: '开始时间',

View File

@ -12,6 +12,7 @@ import { defaultFormValueGetter, useBeforeCloseDiff } from '#/utils/popup';
import { modalSchema } from './data'; import { modalSchema } from './data';
import {personList} from "#/api/property/resident/person"; import {personList} from "#/api/property/resident/person";
import {renderDictValue} from "#/utils/render"; import {renderDictValue} from "#/utils/render";
import {userList} from "#/api/system/user";
const emit = defineEmits<{ reload: [] }>(); const emit = defineEmits<{ reload: [] }>();
@ -104,11 +105,11 @@ async function queryPersonData() {
pageSize: 1000, pageSize: 1000,
pageNum: 1, pageNum: 1,
} }
const res = await personList(params); const res = await userList(params);
const options = res.rows.map((user) => ({ const options = res.rows.map((user) => ({
label: user.userName + '-' + renderDictValue(user.gender, 'sys_user_sex') label: user.nickName + '-' + renderDictValue(user.sex, 'sys_user_sex')
+ '-' + user.phone + '-' + user.unitName, + '-' + user.phonenumber,
value: user.id, value: user.userId.toString(),
})); }));
formApi.updateSchema([{ formApi.updateSchema([{
componentProps: () => ({ componentProps: () => ({

View File

@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import {reactive, shallowRef} from 'vue'; import {reactive, ref} from 'vue';
import {useVbenModal} from '@vben/common-ui'; import {useVbenModal} from '@vben/common-ui';
import {questionnaireInfo} from "#/api/property/customerService/questionnaire/questionnaire"; import {questionnaireInfo} from "#/api/property/customerService/questionnaire/questionnaire";
import type { import type {
@ -33,7 +33,7 @@ const [BasicModal, modalApi] = useVbenModal({
}, },
}); });
const questionnaireDetail = shallowRef<null | QuestionnaireVO>(null); const questionnaireDetail = ref<null | QuestionnaireVO>(null);
async function handleOpenChange(open: boolean) { async function handleOpenChange(open: boolean) {
if (!open) { if (!open) {
@ -44,7 +44,6 @@ async function handleOpenChange(open: boolean) {
questionnaireDetail.value = await questionnaireInfo(id); questionnaireDetail.value = await questionnaireInfo(id);
if (questionnaireDetail.value.questionnaireQuestionVos) { if (questionnaireDetail.value.questionnaireQuestionVos) {
questionnaireDetail.value.questionnaireQuestionVos.forEach(item => { questionnaireDetail.value.questionnaireQuestionVos.forEach(item => {
item.answer = ''
if (item.questionnaireQuestionItemVos) { if (item.questionnaireQuestionItemVos) {
item.options = item.questionnaireQuestionItemVos.map(item => item.itemContent) item.options = item.questionnaireQuestionItemVos.map(item => item.itemContent)
} }

View File

@ -35,10 +35,10 @@ async function loadTree() {
showTreeSkeleton.value = false; showTreeSkeleton.value = false;
} }
async function handleReload() { // async function handleReload() {
await loadTree(); // await loadTree();
emit('reload'); // emit('reload');
} // }
onMounted(loadTree); onMounted(loadTree);
</script> </script>
@ -87,13 +87,6 @@ onMounted(loadTree);
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
:deep(html),
:deep(body),
:deep(#app) {
height: 100%;
margin: 0;
padding: 0;
}
.bg-background{ .bg-background{
background-color: white; background-color: white;
:deep(.ant-tree){ :deep(.ant-tree){

View File

@ -370,6 +370,7 @@ onBeforeUnmount(() => {
.left-content { .left-content {
flex: 1; flex: 1;
height: 95vh;
} }
.right-content { .right-content {
@ -468,14 +469,14 @@ onBeforeUnmount(() => {
} }
.chart-placeholder { .chart-placeholder {
height: 310px; height: 36vh;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border-radius: 4px; border-radius: 4px;
} }
.power-chart{ .power-chart{
height: 47vh; height: 38vh;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;

View File

@ -301,6 +301,7 @@ onBeforeUnmount(() => {
.left-content { .left-content {
flex: 1; flex: 1;
height: 95vh;
} }
.right-content { .right-content {
@ -386,11 +387,11 @@ onBeforeUnmount(() => {
} }
.power-chart{ .power-chart{
height: 55vh; height: 45vh;
} }
.energy-chart{ .energy-chart{
height: 240px; height: 30vh;
} }
</style> </style>