Browse Source

fix:系统配置

master
“wangzihua” 3 months ago
parent
commit
e95a0ad3dc
  1. 2
      .env.development
  2. 2
      .env.localhost
  3. 2
      .env.production
  4. 2
      .env.test
  5. 3
      src/components/support/table-operator/index.vue
  6. 6
      src/config/app-config.js
  7. 23
      src/constants/system/review-const.js
  8. 7
      src/lib/axios.js
  9. 3
      src/store/modules/system/user.js
  10. 43
      src/views/business/erp/letter/letter-list.vue
  11. 76
      src/views/system/home/index.vue
  12. 8
      src/views/system/login/login.vue
  13. 9
      src/views/system/login2/login.vue
  14. 9
      src/views/system/login3/login.vue
  15. 19
      vite.config.js

2
.env.development

@ -1,3 +1,3 @@
NODE_ENV=development NODE_ENV=development
VITE_APP_TITLE='律师公益法律服务活动申报与管理平台' VITE_APP_TITLE='律师公益法律服务活动申报与管理平台'
VITE_APP_API_URL='http://127.0.0.1:1024' VITE_APP_API_URL='/api'

2
.env.localhost

@ -1,3 +1,3 @@
NODE_ENV=development NODE_ENV=development
VITE_APP_TITLE='律师公益法律服务活动申报与管理平台' VITE_APP_TITLE='律师公益法律服务活动申报与管理平台'
VITE_APP_API_URL='http://127.0.0.1:1024' VITE_APP_API_URL='/api'

2
.env.production

@ -1,3 +1,3 @@
NODE_ENV=production NODE_ENV=production
VITE_APP_TITLE='律师公益法律服务活动申报与管理平台' VITE_APP_TITLE='律师公益法律服务活动申报与管理平台'
VITE_APP_API_URL='https://preview.smartadmin.vip/smart-admin-api' VITE_APP_API_URL='/api'

2
.env.test

@ -1,3 +1,3 @@
NODE_ENV=production NODE_ENV=production
VITE_APP_TITLE='律师公益法律服务活动申报与管理平台' VITE_APP_TITLE='律师公益法律服务活动申报与管理平台'
VITE_APP_API_URL='http://127.0.0.1:1024' VITE_APP_API_URL='/api'

3
src/components/support/table-operator/index.vue

@ -26,11 +26,12 @@
<template #icon><redo-outlined /></template> <template #icon><redo-outlined /></template>
</a-button> </a-button>
</a-tooltip> </a-tooltip>
<a-tooltip title="列设置"> <!-- <a-tooltip title="列设置">
<a-button type="text" @click="showModal" size="small"> <a-button type="text" @click="showModal" size="small">
<template #icon><setting-outlined /></template> <template #icon><setting-outlined /></template>
</a-button> </a-button>
</a-tooltip> </a-tooltip>
-->
<SmartTableColumnModal ref="smartTableColumnModal" @change="updateColumn" /> <SmartTableColumnModal ref="smartTableColumnModal" @change="updateColumn" />
</span> </span>
</template> </template>

6
src/config/app-config.js

@ -1,11 +1,5 @@
/* /*
* 应用默认配置 * 应用默认配置
*
* @Author: 1024创新实验室-主任卓大
* @Date: 2022-09-03 22:07:01
* @Wechat: zhuda1024
* @Email: lab1024@163.com
* @Copyright 1024创新实验室 https://1024lab.net ),Since 2012
*/ */
export const appDefaultConfig = { export const appDefaultConfig = {
// i18n 语言选择 // i18n 语言选择

23
src/constants/system/review-const.js

@ -23,8 +23,27 @@ export const REVIEW_ENUM = {
desc: '拒绝', desc: '拒绝',
}, },
} };
// 季度枚举
export const QUARTER_ENUM = {
Q1: {
value: 'Q1',
desc: '第一季度',
},
Q2: {
value: 'Q2',
desc: '第二季度',
},
Q3: {
value: 'Q3',
desc: '第三季度',
},
Q4: {
value: 'Q4',
desc: '第四季度',
},
};
export default { export default {
REVIEW_ENUM, REVIEW_ENUM,
QUARTER_ENUM,
} }

7
src/lib/axios.js

@ -1,11 +1,6 @@
/* /*
* ajax请求 * ajax请求
*
* @Author: 1024创新实验室-主任卓大
* @Date: 2022-09-06 20:46:03
* @Wechat: zhuda1024
* @Email: lab1024@163.com
* @Copyright 1024创新实验室 https://1024lab.net ),Since 2012
*/ */
import { message, Modal } from 'ant-design-vue'; import { message, Modal } from 'ant-design-vue';
import axios from 'axios'; import axios from 'axios';

3
src/store/modules/system/user.js

@ -39,6 +39,8 @@ export const useUserStore = defineStore({
needUpdatePwdFlag: false, needUpdatePwdFlag: false,
//是否为超级管理员 //是否为超级管理员
administratorFlag: true, administratorFlag: true,
//是否已同意协议
agreementSignFlag: false,
//上次登录ip //上次登录ip
lastLoginIp: '', lastLoginIp: '',
//上次登录ip地区 //上次登录ip地区
@ -161,6 +163,7 @@ export const useUserStore = defineStore({
this.departmentName = data.departmentName; this.departmentName = data.departmentName;
this.needUpdatePwdFlag = data.needUpdatePwdFlag; this.needUpdatePwdFlag = data.needUpdatePwdFlag;
this.administratorFlag = data.administratorFlag; this.administratorFlag = data.administratorFlag;
this.agreementSignFlag = data.agreementSignFlag || false;
this.lastLoginIp = data.lastLoginIp; this.lastLoginIp = data.lastLoginIp;
this.lastLoginIpRegion = data.lastLoginIpRegion; this.lastLoginIpRegion = data.lastLoginIpRegion;
this.lastLoginUserAgent = data.lastLoginUserAgent; this.lastLoginUserAgent = data.lastLoginUserAgent;

43
src/views/business/erp/letter/letter-list.vue

@ -9,20 +9,24 @@
<!---------- 查询表单form begin -----------> <!---------- 查询表单form begin ----------->
<a-form class="smart-query-form"> <a-form class="smart-query-form">
<a-row class="smart-query-form-row"> <a-row class="smart-query-form-row">
<a-form-item class="smart-query-form-item"> <a-col :span="24" style="text-align: right;">
<a-button type="primary" @click="onSearch"> <a-form-item class="smart-query-form-item">
<template #icon> <!--
<SearchOutlined /> <a-button @click="resetQuery" class="smart-margin-left10">
</template> <template #icon>
查询 <ReloadOutlined />
</a-button> </template>
<a-button @click="resetQuery" class="smart-margin-left10"> 重置
<template #icon> </a-button>
<ReloadOutlined /> -->
</template> <a-button type="primary" @click="onSearch">
重置 <template #icon>
</a-button> <SearchOutlined />
</a-form-item> </template>
查询
</a-button>
</a-form-item>
</a-col>
</a-row> </a-row>
</a-form> </a-form>
<!---------- 查询表单form end -----------> <!---------- 查询表单form end ----------->
@ -95,12 +99,17 @@
const columns = ref([ const columns = ref([
{ {
title: '承诺书名称', title: '承诺书名称',
dataIndex: 'letterId', dataIndex: 'letterName',
ellipsis: true, ellipsis: true,
}, },
{ {
title: '用户名称', title: '用户名称',
dataIndex: 'userId', dataIndex: 'userName',
ellipsis: true,
},
{
title: '签约时间',
dataIndex: 'createTime',
ellipsis: true, ellipsis: true,
}, },
]); ]);

76
src/views/system/home/index.vue

@ -3,6 +3,9 @@
* *
--> -->
<template> <template>
<!-- 协议弹框 -->
<AgreementModal v-if="showAgreementModal" @confirm="handleAgreementConfirm" @cancel="handleAgreementCancel" />
<!-- 顶部用户信息--> <!-- 顶部用户信息-->
<a-row> <a-row>
<HomeHeader /> <HomeHeader />
@ -53,7 +56,9 @@
</a-row> </a-row>
</template> </template>
<script setup> <script setup>
import { computed } from 'vue'; import { computed, ref, onMounted } from 'vue';
import { message } from 'ant-design-vue';
import { useUserStore } from '/@/store/modules/system/user';
import HomeHeader from './home-header.vue'; import HomeHeader from './home-header.vue';
import HomeNotice from './home-notice.vue'; import HomeNotice from './home-notice.vue';
import OfficialAccountCard from './components/official-account-card.vue'; import OfficialAccountCard from './components/official-account-card.vue';
@ -62,12 +67,73 @@
import Category from './components/echarts/category.vue'; import Category from './components/echarts/category.vue';
import Pie from './components/echarts/pie.vue'; import Pie from './components/echarts/pie.vue';
import Gradient from './components/echarts/gradient.vue'; import Gradient from './components/echarts/gradient.vue';
import AgreementModal from './components/agreement-modal.vue';
import { letterApi } from '/@/api/business/letter/letter-api';
// import AdModal from './ad-modal.vue'; // import AdModal from './ad-modal.vue';
const showAgreementModal = ref(false);
const userStore = useUserStore();
// //
const saleTargetPercent = computed(() => { onMounted(() => {
return 75; checkAgreementStatus();
}); });
//
function checkAgreementStatus() {
// agreementSignFlag
// true
// false
const agreementSigned = userStore.agreementSignFlag;
showAgreementModal.value = !agreementSigned;
console.log('协议状态检查:', 'agreementSignFlag =', agreementSigned, '显示弹框 =', showAgreementModal.value);
}
// -
async function handleAgreementConfirm() {
try {
await letterApi.add();
message.success('承诺书签署成功');
showAgreementModal.value = false;
//
userStore.agreementSignFlag = true;
//console.log('ID:', userStore.employeeId);
} catch (error) {
message.error('承诺书签署失败,请重新登录');
console.error('承诺书签署失败:', error);
// 退
userStore.logout();
//
setTimeout(() => {
window.location.href = '/login';
}, 1500);
}
}
//
function handleAgreementCancel() {
message.warning('您需要同意平台协议才能使用系统');
showAgreementModal.value = false;
// 退
userStore.logout();
//
setTimeout(() => {
window.location.href = '/login';
}, 1500);
}
//
const saleTargetPercent = computed(() => {
return 75;
});
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import './index.less'; @import './index.less';

8
src/views/system/login/login.vue

@ -11,14 +11,6 @@
<a-form-item name="loginName"> <a-form-item name="loginName">
<a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" /> <a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" />
</a-form-item> </a-form-item>
<a-form-item name="emailCode" v-if="emailCodeShowFlag">
<a-input-group compact>
<a-input style="width: calc(100% - 110px)" v-model:value="loginForm.emailCode" autocomplete="on" placeholder="请输入邮箱验证码" />
<a-button @click="sendSmsCode" class="code-btn" type="primary" :disabled="emailCodeButtonDisabled">
{{ emailCodeTips }}
</a-button>
</a-input-group>
</a-form-item>
<a-form-item name="password"> <a-form-item name="password">
<a-input-password <a-input-password
v-model:value="loginForm.password" v-model:value="loginForm.password"

9
src/views/system/login2/login.vue

@ -16,14 +16,7 @@
<a-form-item name="loginName"> <a-form-item name="loginName">
<a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" /> <a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" />
</a-form-item> </a-form-item>
<a-form-item name="emailCode" v-if="emailCodeShowFlag">
<a-input-group compact>
<a-input style="width: calc(100% - 110px)" v-model:value="loginForm.emailCode" autocomplete="on" placeholder="请输入邮箱验证码" />
<a-button @click="sendSmsCode" class="code-btn" type="primary" :disabled="emailCodeButtonDisabled">
{{ emailCodeTips }}
</a-button>
</a-input-group>
</a-form-item>
<a-form-item name="password"> <a-form-item name="password">
<a-input-password <a-input-password
v-model:value="loginForm.password" v-model:value="loginForm.password"

9
src/views/system/login3/login.vue

@ -18,14 +18,7 @@
<a-form-item name="loginName"> <a-form-item name="loginName">
<a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" /> <a-input v-model:value.trim="loginForm.loginName" placeholder="请输入用户名" />
</a-form-item> </a-form-item>
<a-form-item name="emailCode" v-if="emailCodeShowFlag">
<a-input-group compact>
<a-input style="width: calc(100% - 110px)" v-model:value="loginForm.emailCode" autocomplete="on" placeholder="请输入邮箱验证码" />
<a-button @click="sendSmsCode" class="code-btn" type="primary" :disabled="emailCodeButtonDisabled">
{{ emailCodeTips }}
</a-button>
</a-input-group>
</a-form-item>
<a-form-item name="password"> <a-form-item name="password">
<a-input-password <a-input-password
v-model:value="loginForm.password" v-model:value="loginForm.password"

19
vite.config.js

@ -32,14 +32,17 @@ export default {
server: { server: {
host: '0.0.0.0', host: '0.0.0.0',
port: 8081, port: 8081,
server: { proxy: {
proxy: { // 代理API路径
// 代理路径 '/api': {
'/': { target: 'http://8.148.67.92:8080/', // 目标服务器地址
target: 'http://127.0.0.1:1024/', // 目标服务器地址 changeOrigin: true, // 是否修改请求头中的 Origin 字段
changeOrigin: true, // 是否修改请求头中的 Origin 字段 rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径
rewrite: (path) => path, // 重写路径 },
}, '/login': {
target: 'http://8.148.67.92:8080/', // 目标服务器地址
changeOrigin: true, // 是否修改请求头中的 Origin 字段
rewrite: (path) => path, // 重写路径
}, },
} }
}, },

Loading…
Cancel
Save