Commit 96240404 authored by heyihong's avatar heyihong

1

parents
src/uni_modules/
{
"globals": {
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"EffectScope": true,
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"InjectionKey": true,
"PropType": true,
"Ref": true,
"VNode": true,
"WritableComputedRef": true,
"computed": true,
"createApp": true,
"customRef": true,
"defineAsyncComponent": true,
"defineComponent": true,
"effectScope": true,
"getCurrentInstance": true,
"getCurrentScope": true,
"h": true,
"inject": true,
"isProxy": true,
"isReactive": true,
"isReadonly": true,
"isRef": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onAddToFavorites": true,
"onBackPress": true,
"onBeforeMount": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onDeactivated": true,
"onError": true,
"onErrorCaptured": true,
"onHide": true,
"onLaunch": true,
"onLoad": true,
"onMounted": true,
"onNavigationBarButtonTap": true,
"onNavigationBarSearchInputChanged": true,
"onNavigationBarSearchInputClicked": true,
"onNavigationBarSearchInputConfirmed": true,
"onNavigationBarSearchInputFocusChanged": true,
"onPageNotFound": true,
"onPageScroll": true,
"onPullDownRefresh": true,
"onReachBottom": true,
"onReady": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onResize": true,
"onScopeDispose": true,
"onServerPrefetch": true,
"onShareAppMessage": true,
"onShareTimeline": true,
"onShow": true,
"onTabItemTap": true,
"onThemeChange": true,
"onUnhandledRejection": true,
"onUnload": true,
"onUnmounted": true,
"onUpdated": true,
"provide": true,
"reactive": true,
"readonly": true,
"ref": true,
"resolveComponent": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"toRaw": true,
"toRef": true,
"toRefs": true,
"toValue": true,
"triggerRef": true,
"unref": true,
"useAttrs": true,
"useCssModule": true,
"useCssVars": true,
"useRequest": true,
"useSlots": true,
"useUpload": true,
"useUpload2": true,
"watch": true,
"watchEffect": true,
"watchPostEffect": true,
"watchSyncEffect": true
}
}
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:vue/vue3-essential',
// eslint-plugin-import 插件, @see https://www.npmjs.com/package/eslint-plugin-import
'plugin:import/recommended',
// eslint-config-airbnb-base 插件 已经改用 eslint-config-standard 插件
'standard',
// 1. 接入 prettier 的规则
'prettier',
'plugin:prettier/recommended',
'./.eslintrc-auto-import.json',
],
overrides: [
{
env: {
node: true,
},
files: ['.eslintrc.{js,cjs}'],
parserOptions: {
sourceType: 'script',
},
},
],
parserOptions: {
ecmaVersion: 'latest',
parser: '@typescript-eslint/parser',
sourceType: 'module',
},
plugins: [
'@typescript-eslint',
'vue',
// 2. 加入 prettier 的 eslint 插件
'prettier',
// eslint-import-resolver-typescript 插件,@see https://www.npmjs.com/package/eslint-import-resolver-typescript
'import',
],
rules: {
'semi': ['error', 'always'],
// 3. 注意要加上这一句,开启 prettier 自动修复的功能
'prettier/prettier': 'error',
// turn on errors for missing imports
'import/no-unresolved': 'off',
// 对后缀的检测,否则 import 一个ts文件也会报错,需要手动添加'.ts', 增加了下面的配置后就不用了
'import/extensions': [
'off',
'error',
'ignorePackages',
{ js: 'never', jsx: 'never', ts: 'never', tsx: 'never' },
],
// 只允许1个默认导出,关闭,否则不能随意export xxx
'import/prefer-default-export': ['off'],
'no-console': ['off'],
// 'no-unused-vars': ['off'],
// '@typescript-eslint/no-unused-vars': ['off'],
// 解决vite.config.ts报错问题
'import/no-extraneous-dependencies': 'off',
'no-plusplus': 'off',
'no-shadow': 'off',
'vue/multi-word-component-names': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'no-underscore-dangle': 'off',
'no-use-before-define': 'off',
'no-undef': 'off',
'no-unused-vars': 'off',
'no-param-reassign': 'off',
'@typescript-eslint/no-unused-vars': 'off',
// 避免 `eslint` 对于 `typescript` 函数重载的误报
'no-redeclare': 'off',
'@typescript-eslint/no-redeclare': 'error',
},
// eslint-import-resolver-typescript 插件,@see https://www.npmjs.com/package/eslint-import-resolver-typescript
settings: {
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx'],
},
'import/resolver': {
typescript: {},
},
},
globals: {
$t: true,
uni: true,
UniApp: true,
wx: true,
WechatMiniprogram: true,
getCurrentPages: true,
UniHelper: true,
Page: true,
App: true,
NodeJS: true,
},
}
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
build
*.local
# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.rexma
// .npmrc
public-hoist-pattern[]=@vue*
// or
// shamefully-hoist = true
# unplugin-auto-import 生成的类型文件,每次提交都改变,所以加入这里吧,与 .gitignore 配合使用
auto-import.d.ts
# vite-plugin-uni-pages 生成的类型文件,每次切换分支都一堆不同的,所以直接 .gitignore
uni-pages.d.ts
# 插件生成的文件
src/pages.json
src/manifest.json
// @see https://prettier.io/docs/en/options
module.exports = {
singleQuote: true,
printWidth: 100,
tabWidth: 2,
useTabs: false,
semi: true,
trailingComma: 'all',
endOfLine: 'auto',
htmlWhitespaceSensitivity: 'ignore',
overrides: [
{
files: '*.json',
options: {
trailingComma: 'none',
},
},
],
}
# 小程序平台模板 vue3
## 安装依赖
```
yarn install
```
### 本地服务
```
yarn start
```
### 小程序平台打包
```
yarn build
```
## 默认安装的 UI 库
[wot-design-uni](https://wot-design-uni.netlify.app/component/button.html)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
{
"name": "rexma-temp-vue3",
"version": "0.0.0",
"scripts": {
"start": "rexma start-rexma",
"build": "rexma build-rexma",
"start:platform": "rexma start",
"build:platform": "rexma build"
},
"dependencies": {
"@dcloudio/uni-app": "3.0.0-4000720240327002",
"@dcloudio/uni-app-plus": "3.0.0-4000720240327002",
"@dcloudio/uni-components": "3.0.0-4000720240327002",
"@dcloudio/uni-h5": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-alipay": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-baidu": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-jd": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-kuaishou": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-lark": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-qq": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-toutiao": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-weixin": "3.0.0-4000720240327002",
"@dcloudio/uni-mp-xhs": "3.0.0-4000720240327002",
"@dcloudio/uni-quickapp-webview": "3.0.0-4000720240327002",
"@typescript-eslint/parser": "6.15.0",
"pinia": "2.0.36",
"vue": "^3.3.11",
"vue-i18n": "^9.1.9",
"wot-design-uni": "^1.2.26"
},
"devDependencies": {
"@dcloudio/types": "^3.3.2",
"@dcloudio/uni-automator": "3.0.0-4000720240327002",
"@dcloudio/uni-cli-shared": "3.0.0-4000720240327002",
"@dcloudio/uni-stacktracey": "3.0.0-4000720240327002",
"@dcloudio/vite-plugin-uni": "3.0.0-4000720240327002",
"@types/node": "^20.14.5",
"@typescript-eslint/eslint-plugin": "^6.15.0",
"@vitejs/plugin-legacy": "4.1.1",
"@vue/runtime-core": "^3.3.11",
"@vue/tsconfig": "^0.1.3",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-config-standard": "^17.1.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "16.6.2",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-promise": "^6.2.0",
"eslint-plugin-vue": "^9.26.0",
"prettier": "^3.3.2",
"rexma-cli": "^1.7.4",
"sass": "^1.77.6",
"typescript": "^4.9.4",
"unplugin-auto-import": "^0.17.6",
"vite": "4.3.5",
"vite-plugin-eslint": "^1.8.1",
"vue-tsc": "^1.0.24"
}
}
<script setup lang="ts">
onLaunch(() => {
console.log('App Launch');
});
onShow(() => {
console.log('App Show');
});
onHide(() => {
console.log('App Hide');
});
</script>
<style></style>
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const effectScope: typeof import('vue')['effectScope']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites']
const onBackPress: typeof import('@dcloudio/uni-app')['onBackPress']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onError: typeof import('@dcloudio/uni-app')['onError']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onHide: typeof import('@dcloudio/uni-app')['onHide']
const onLaunch: typeof import('@dcloudio/uni-app')['onLaunch']
const onLoad: typeof import('@dcloudio/uni-app')['onLoad']
const onMounted: typeof import('vue')['onMounted']
const onNavigationBarButtonTap: typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']
const onNavigationBarSearchInputChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']
const onNavigationBarSearchInputClicked: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']
const onNavigationBarSearchInputConfirmed: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']
const onNavigationBarSearchInputFocusChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']
const onPageNotFound: typeof import('@dcloudio/uni-app')['onPageNotFound']
const onPageScroll: typeof import('@dcloudio/uni-app')['onPageScroll']
const onPullDownRefresh: typeof import('@dcloudio/uni-app')['onPullDownRefresh']
const onReachBottom: typeof import('@dcloudio/uni-app')['onReachBottom']
const onReady: typeof import('@dcloudio/uni-app')['onReady']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onResize: typeof import('@dcloudio/uni-app')['onResize']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onShareAppMessage: typeof import('@dcloudio/uni-app')['onShareAppMessage']
const onShareTimeline: typeof import('@dcloudio/uni-app')['onShareTimeline']
const onShow: typeof import('@dcloudio/uni-app')['onShow']
const onTabItemTap: typeof import('@dcloudio/uni-app')['onTabItemTap']
const onThemeChange: typeof import('@dcloudio/uni-app')['onThemeChange']
const onUnhandledRejection: typeof import('@dcloudio/uni-app')['onUnhandledRejection']
const onUnload: typeof import('@dcloudio/uni-app')['onUnload']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const toValue: typeof import('vue')['toValue']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useSlots: typeof import('vue')['useSlots']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
const xma: typeof import('rexma-cli')['xma']
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
import('vue')
}
/// <reference types='@dcloudio/types' />
import 'vue'
declare module '@vue/runtime-core' {
type Hooks = App.AppInstance & Page.PageInstance;
interface ComponentCustomOptions extends Hooks {
}
}
/// <reference types="vite/client" />
declare module '*.vue' {
import { DefineComponent } from 'vue'
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
const component: DefineComponent<{}, {}, any>
export default component
}
import { createSSRApp } from 'vue';
import App from './App.vue';
import store from './store';
export function createApp() {
const app = createSSRApp(App);
app.use(store);
return {
app,
};
}
{
"name" : "",
"appid" : "",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* 模块配置 */
"modules" : {},
/* 应用发布信息 */
"distribute" : {
/* android打包配置 */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios打包配置 */
"ios" : {},
/* SDK配置 */
"sdkConfigs" : {}
}
},
/* 快应用特有相关 */
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics": {
"enable": false
},
"vueVersion" : "3",
"h5" : {
"router" : {
"base" : "./",
"mode" : "hash"
},
"optimization" : {
"treeShaking" : {
"enable" : true
}
}
}
}
{
"easycom": {
"autoscan": true,
"custom": {
"^wd-(.*)": "wot-design-uni/components/wd-$1/wd-$1.vue"
}
},
"pages": [
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "档案服务"
}
},
{
"path": "pages/fileQuery/fileQuery",
"style": {
"navigationBarTitleText": "档案查询"
}
}
],
"globalStyle": {
"navigationStyle": "custom"
}
}
\ No newline at end of file
<template>
<view style="background-color: #f8f8f8; height: 100%">
<wd-toast />
<wd-message-box></wd-message-box>
<view class="dlxx" v-if="show">
<view class="banner">
<image src="/static/fileimg/danganbg.png" mode="scaleToFill"></image>
<view class="page_title">验证身份信息</view>
</view>
<view class="formmain">
<wd-form ref="form" :model="formData" :rules="rules">
<wd-cell-group border>
<wd-input
label="姓名"
label-width="100px"
prop="xm"
clearable
v-model="formData.xm"
placeholder="请输入"
/>
<wd-input
label="身份证号"
label-width="100px"
prop="sfz"
clearable
v-model="formData.sfz"
placeholder="请输入"
/>
<wd-input
label="手机号"
label-width="100px"
prop="sjh"
clearable
v-model="formData.sjh"
placeholder="请输入"
/>
</wd-cell-group>
<view class="tishi">
<text>
*若手机号码与档案库预留手机号码不一致,需要进行号码变更,请联系存放档案的人才机构进行变更。
</text>
<button type="primary" @click="submitForm">查询</button>
</view>
</wd-form>
</view>
</view>
<view class="list" v-else>
<view class="banner">
<image src="/static/fileimg/danganbg.png" mode="scaleToFill"></image>
<view class="page_title">档案查询结果</view>
</view>
<view class="main">
<block v-for="(item, index) in list" :key="index">
<view class="first-list">
<text class="xm">{{ item.xm }}</text>
<text>档案编号:{{ item.dabh }}</text>
</view>
<view class="box-list1">
<text class="gary">出生日期</text>
<text>{{ item.csrq }}</text>
</view>
<view class="box-list1">
<text class="gary">毕业院校</text>
<text>{{ item.byyx }}</text>
</view>
<view class="box-list1">
<text class="gary">毕业时间</text>
<text>{{ item.byrq }}</text>
</view>
<view class="box-list1">
<text class="gary">所学专业</text>
<text>{{ item.sxzy }}</text>
</view>
<view class="box-list1">
<text class="gary">所属档案机构</text>
<text>{{ item.jgmc }}</text>
</view>
<view class="box-list1">
<text class="gary">转入日期</text>
<text>{{ item.dazrrq }}</text>
</view>
<view class="box-list1">
<text class="gary">转出日期</text>
<text>{{ item.dazcrq }}</text>
</view>
<view class="box-list1">
<text class="gary">档案转出单位</text>
<text>{{ item.dazcdw }}</text>
</view>
</block>
<button type="primary" @click="goback">返回</button>
</view>
</view>
</view>
</template>
<script setup></script>
<script setup>
import { ref } from 'vue';
import { useToast, useMessage } from '../../../node_modules/wot-design-uni';
import request from '@/services/request';
const toast = useToast();
const message = useMessage();
const show = ref(true);
const list = ref([]);
const formData = ref({
systemCode: 'one-centre',
xm: '',
sfz: '',
sjh: '',
});
const form = ref();
const rules = ref({
xm: [{ required: true, message: '请输入姓名' }],
sfz: [
{
required: true,
pattern:
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
message: '请输入正确的身份证号',
},
],
sjh: [{ required: true, message: '请输入手机号' }],
});
const submitForm = () => {
form.value
.validate()
.then(async ({ valid, errors }) => {
if (valid) {
toast.loading({
loadingType: 'ring',
msg: '加载中...',
});
const res = await request.post(
'/back/one-visit/one-visit/web/oneVisit/grdaCx',
formData.value,
);
const code = res[0].code;
if (code === 1) {
const returnCode = res[0].data.returnCode;
if (returnCode === 1) {
list.value = res[0].data.returnData.grda;
if (list.value.length === 0) {
message.alert(res[0].data.returnData.message);
} else {
show.value = false;
}
}
} else {
message.alert(res[0].message);
}
toast.close();
}
})
.catch((error) => {
console.log(error, 'error');
});
};
const goback = () => {
show.value = true;
};
</script>
<style lang="scss">
.banner {
position: relative;
image {
display: block;
height: 380rpx;
width: 100%;
}
.page_title {
font-size: 24px;
text-align: center;
color: white;
line-height: 121rpx;
background: rgba(255, 255, 255, 0.3);
-webkit-backdrop-filter: blur(3px);
backdrop-filter: blur(3px);
width: 696rpx;
height: 121rpx;
position: absolute;
bottom: 0rpx;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
border-top-left-radius: 30rpx;
border-top-right-radius: 30rpx;
}
}
.is-input-border {
border: none !important;
}
.dlxx {
background-color: #fff;
.formmain {
padding: 15px;
background: #fff;
.uni-forms-item {
border-bottom: 1px solid #ccc;
margin-bottom: 15px;
.uni-easyinput__content-input {
text-align: right;
}
}
}
.tishi {
padding: 15px;
padding-top: 30px;
button {
background-color: #3d65c2;
margin-top: 10%;
}
}
}
.list {
.main {
background: #fff;
padding: 26px 10px;
.first-list {
display: flex;
justify-content: space-between;
margin-bottom: 18px;
.xm {
border-left: 7px solid #3d65c2;
padding-left: 6px;
}
}
.box-list1 {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
.gary {
color: #b9b9b9;
}
}
button {
background-color: #3d65c2;
margin-top: 10%;
}
}
}
</style>
<template>
<view class="content">
<wd-message-box></wd-message-box>
<view class="daname">
<text>档案服务</text>
</view>
<view class="danr">
<wd-row class="dalist bg">
<wd-col :span="24">
<navigator url="/pages/fileQuery/fileQuery">
<view class="bg-dark1">档案查询</view>
</navigator>
</wd-col>
</wd-row>
<wd-row class="dalist bg1" @click="toUIComponentsDoc">
<wd-col :span="24">
<view class="bg-dark1">档案托管证明</view>
</wd-col>
</wd-row>
<wd-row class="dalist bg2" @click="toUIComponentsDoc">
<wd-col :span="24">
<view class="bg-dark1">档案政审证明</view>
</wd-col>
</wd-row>
</view>
<!-- <wd-button type="primary" @click="toUIComponentsDoc">wot-design-uni 文档</wd-button>
<text>pinia count: {{ countInfo.count }}</text>
<wd-button type="primary" @click="onHandleClick">add count</wd-button> -->
</view>
</template>
<script setup>
import { useMessage } from '../../../node_modules/wot-design-uni';
const message = useMessage();
const toUIComponentsDoc = () => {
message.alert('暂未开放');
console.log(1111);
};
</script>
<style lang="scss">
.content {
height: 100vh;
background: linear-gradient(90deg, #4e82e9, #6cb2f6);
width: 100vw;
overflow: hidden;
.daname {
margin-top: 40rpx;
text-align: center;
color: #fff;
font-size: 20px;
}
.danr {
width: calc(100vw - 24px);
left: 12px;
height: 45vh;
font-size: 16px;
background-color: #fff;
border-radius: 10px;
z-index: 1;
position: fixed;
top: 28vh;
padding: 15px;
box-sizing: border-box;
.dalist {
height: calc(33.3% - 15px);
margin-bottom: 15px;
display: flex;
align-items: center;
text-align: center;
font-size: large;
color: #fff;
}
.bg {
background: linear-gradient(90deg, #25d1db, #78e3b9);
}
.bg1 {
background: linear-gradient(90deg, #42a4fb, #64cff1);
}
.bg2 {
background: linear-gradient(90deg, #c0a8dc, #cfa7dc);
}
}
}
</style>
<template>
<view>
<fileHeader :info="info"></fileHeader>
<view class="h-content">
<view class="jianjie">
<img src="/static/fileimg/liuchen.png" alt="" mode="widthFix">
</view>
<img src="/static/fileimg/liuchen3.png" class="liuchen2" mode="widthFix">
<button type="default" @click="clickBtn()" class="shenqing">申请</button>
</view>
<view class="container">
<!-- 普通弹窗 -->
<uni-popup ref="popup" :maskClick="false">
<view class="popup-wrap">
<view class="popup-header">
服务协议
</view>
<view class="popup-content">
<scroll-view scroll-y class="scrolls">
<view class="hmain">
<view class="box-list1">
<text>1、业务说明</text>
<text>本系统仅为档案已存放在贵阳市公共就业人才服务机构的流动人员办理证明类业务,出具的证明内容依据档案记载自动生成,须验证存档人预留手机号,如您的手机号变更请联系对应存档机构修改。</text>
</view>
<view class="box-list1">
<text>2、申请条件</text>
<text>(1) 申请人档案已存放在贵阳市公共就业人才服务机构;</text>
<text>(2) 申请的证明内容档案内有相应材料佐证。</text>
</view>
<view class="box-list1">
<text>3、您应确保填写信息及上传材料的真实性,若因信息填写或上传材料有误导致开具的调函错误,后果自行承担,档案政策咨询电话:</text>
<view style="color:#7E7E7E">
0851-96567。
</view>
</view>
</view>
</scroll-view>
</view>
<view class="popup-btn">
<view class="cancel" @click="cancel()">
拒绝
</view>
<view class="sure" @click="sure()">
接受
</view>
</view>
</view>
</uni-popup>
</view>
</view>
</template>
<script>
import fileHeader from '../../../components/fileHeader/fileHeader.vue'
export default {
components: {
fileHeader
},
data() {
return {
info:'档案政审证明'
}
},
methods: {
clickBtn(){
this.$refs.popup.open('center')
},
cancel(){
this.$refs.popup.close()
},
sure(){
uni.showToast({
title:"开发中...",
icon:'none',
duration:850
});
// uni.navigateTo({
// url:'../verification/verification'
// })
}
}
}
</script>
<style lang="scss">
@import "../../../static/css/dangan.scss";
.popup-wrap{
width:636rpx;
height:1030rpx;
background:#fff;
border-radius:48rpx;
border:1px solid #CECECE;
position:relative;
.popup-header{
font-size:20px;
text-align:center;
margin:0 auto;
padding:32px 0;
}
.popup-content{
.scrolls{
height:660rpx;
.hmain{
padding:10px;
box-sizing:border-box;
text{
display:block;
margin-bottom:10px;
color:#7E7E7E;
}
}
}
}
.popup-btn{
height:120rpx;
position:absolute;
bottom:0;
left:0;
width: 100%;
box-sizing:border-box;
display:flex;
justify-content:space-between;
text-align:center;
font-size:20px;
border-top:1px solid #CECECE;
line-height:120rpx;
.cancel{
width:50%;
box-sizing:border-box;
border-right:1px solid #CECECE;
}
.sure{
width:50%;
color:#3D65C2;
}
}
}
.h-content{
.jianjie{
background:#F8F8F8;
width:100%;
padding:25px 0;
img{
display:block;
margin:0 auto;
}
}
.liuchen2{
display: block;
margin:10px auto;
}
.shenqing{
background:#3D65C2;
margin:10px auto 40px;
width:90%;
color:#fff;
}
}
</style>
import request from '@/services/request';
export function getList(params) {
return request.get('/api/queryList',params);
}
export function getList2(params) {
return request.post('/back/one-visit/one-visit/web/oneVisit/zphlbCx', params);
}
import * as foo from './foo';
export default {
foo,
};
type RequestConfig = UniApp.RequestOptions;
type IInterceptors = {
request?: {
onFulfilled?: (config: RequestConfig) => RequestConfig;
onRejected?: (error: any) => any;
};
response?: {
onFulfilled?: (result: UniApp.RequestSuccessCallbackResult) => any;
onRejected?: (error: any) => any;
};
};
class Request {
// 拦截器
private readonly interceptors?: IInterceptors;
constructor(config: { interceptors?: IInterceptors } = {}) {
this.interceptors = config.interceptors;
}
/**
* @description 统一结果处理
*/
private resultHandle(res: Promise<any>) {
return res.then((r) => [r, null]).catch((e) => [null, e]);
}
http(_config: RequestConfig): Promise<any> {
const requestOnFulfilled = this.interceptors?.request?.onFulfilled;
const requestOnRejected = this.interceptors?.request?.onRejected;
const responseOnFulfilled = this.interceptors?.response?.onFulfilled;
const responseOnRejected = this.interceptors?.response?.onRejected;
let config: RequestConfig = { ..._config, header: _config.header || {} };
if (requestOnFulfilled) {
try {
config = requestOnFulfilled(config);
} catch (e) {
requestOnRejected?.(e);
}
}
return new Promise((resolve, reject) => {
xma.request({
...config,
success: (result) => {
if (`${result.statusCode}`.startsWith('2')) {
resolve(responseOnFulfilled?.(result) || result);
// return result.data;
} else {
reject(responseOnRejected?.(result) || result);
}
},
fail: (error) => {
reject(responseOnRejected?.(error) || error);
},
});
});
}
post(url: string, data: any = {}, config?: RequestConfig) {
return this.resultHandle(
this.http({
method: 'POST',
url,
data,
...config,
}),
);
}
get(url: string, data: any = {}, config?: RequestConfig) {
return this.resultHandle(
this.http({
method: 'GET',
url,
data,
...config,
}),
);
}
}
const request = new Request({
interceptors: {
request: {
onFulfilled(config) {
return config;
},
},
response: {
onFulfilled(result) {
return result.data;
},
onRejected(error) {
return error;
},
},
},
});
export default request;
import { defineStore } from 'pinia';
import { ref } from 'vue';
type ICountStore = {
count: number;
};
const initState: ICountStore = {
count: 0,
};
export const useCountStore = defineStore('user', () => {
const countInfo = ref<ICountStore>({ ...initState });
const addCount = (count: number = 1) => {
countInfo.value.count += count;
};
return {
countInfo,
addCount,
};
});
import { createPinia } from 'pinia';
const store = createPinia();
export default store;
// 模块统一导出
export * from './count';
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color: #333; // 基本色
$uni-text-color-inverse: #fff; // 反色
$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable: #c0c0c0;
/* 背景颜色 */
$uni-bg-color: #fff;
$uni-bg-color-grey: #f8f8f8;
$uni-bg-color-hover: #f1f1f1; // 点击状态颜色
$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色
/* 边框颜色 */
$uni-border-color: #c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm: 12px;
$uni-font-size-base: 14px;
$uni-font-size-lg: 16;
/* 图片尺寸 */
$uni-img-size-sm: 20px;
$uni-img-size-base: 26px;
$uni-img-size-lg: 40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
/* 文章场景相关 */
$uni-color-title: #2c405a; // 文章标题颜色
$uni-font-size-title: 20px;
$uni-color-subtitle: #555; // 二级标题颜色
$uni-font-size-subtitle: 18px;
$uni-color-paragraph: #3f536e; // 文章段落颜色
$uni-font-size-paragraph: 15px;
\ No newline at end of file
{
"extends": "@vue/tsconfig/tsconfig.json",
"compilerOptions": {
"composite": true,
"skipLibCheck": true,
"module": "ESNext",
"moduleResolution": "Node",
"resolveJsonModule": true,
"noImplicitThis": true,
"allowSyntheticDefaultImports": true,
"allowJs": true,
"sourceMap": true,
"noImplicitAny": false,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
},
"outDir": "build",
"lib": ["esnext", "dom"],
"types": ["@dcloudio/types", "wot-design-uni/global.d.ts"]
},
"vueCompilerOptions": {
"target": 3,
"nativeTags": ["block", "template", "component", "slot"]
},
"include": [
"src/**/*.ts",
"src/**/*.js",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.jsx",
"src/**/*.vue",
"src/**/*.json"
]
}
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import AutoImport from 'unplugin-auto-import/vite';
import eslint from 'vite-plugin-eslint';
import legacy from '@vitejs/plugin-legacy';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
uni(),
AutoImport({
imports: [
'vue',
'uni-app',
{
'rexma-cli': ['xma'],
},
],
dts: 'src/declaration/auto-imports.d.ts',
}),
eslint({
extensions: ['js', 'ts', 'vue'],
fix: true,
}),
process.env.UNI_PLATFORM === 'h5' &&
legacy({
targets: ['defaults', 'not IE 11'],
}),
].filter(Boolean),
server: {
open: true,
host: '0.0.0.0',
proxy: {
'/back': {
target: 'https://onemoment.gywb.cn',
changeOrigin: true,
//rewrite: (path) => path.replace(/^\/back/, ''),
},
},
},
});
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment