Merge branch 'master' of http://47.109.37.87:3000/by2025/admin-vben5
Some checks failed
/ Explore-Gitea-Actions (push) Failing after 5m15s
Some checks failed
/ Explore-Gitea-Actions (push) Failing after 5m15s
This commit is contained in:
commit
c4d503f9b8
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -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() {
|
|||||||
}
|
}
|
||||||
// getValues获取为一个readonly的对象 需要修改必须先深拷贝一次
|
// getValues获取为一个readonly的对象 需要修改必须先深拷贝一次
|
||||||
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');
|
||||||
|
@ -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: '开始时间',
|
||||||
|
@ -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: () => ({
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
@ -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){
|
||||||
|
@ -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;
|
||||||
|
@ -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>
|
||||||
|
Loading…
Reference in New Issue
Block a user