提交 0c5ef261 编写于 作者: zhongyao.qiao's avatar zhongyao.qiao

feat 三要素迁移

上级 4eaff480
......@@ -2,7 +2,7 @@ module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
sourceType: 'module',
},
env: {
browser: true,
......@@ -12,78 +12,101 @@ module.exports = {
extends: ['plugin:vue/recommended', 'eslint:recommended'],
// 全局变量
globals: {
'gdp': true,
'uni': true,
'wx': true,
'qq': true,
'$':true
gdp: true,
uni: true,
wx: true,
qq: true,
$: true,
},
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
rules: {
'vue/html-self-closing': 'off',
'no-console': 0,
'no-debugger':0,
'comma-spacing': [2, { // 控制逗号前面没有空格,后面必须有空格
'before': false,
'after': true
}],
'arrow-spacing': [2, { // 要求箭头函数前后有空格
'before': true,
'after': true
}],
'no-multi-spaces': 2,// 禁止使用多个空格,
'no-spaced-func': 2,// 禁止 function 标识符和括号之间出现空格,this.getList () 报错
'semi-spacing': [2, {// 强制分号之前不允许有空格
'before': false,
'after': true
}],
'space-infix-ops': 2,// 要求操作符前后必须有空格: 2 + 3 2 === 2 3 > 2
'no-debugger': 0,
'comma-spacing': [
2,
{
// 控制逗号前面没有空格,后面必须有空格
before: false,
after: true,
},
],
'arrow-spacing': [
2,
{
// 要求箭头函数前后有空格
before: true,
after: true,
},
],
'no-multi-spaces': 2, // 禁止使用多个空格,
'no-spaced-func': 2, // 禁止 function 标识符和括号之间出现空格,this.getList () 报错
'semi-spacing': [
2,
{
// 强制分号之前不允许有空格
before: false,
after: true,
},
],
'space-infix-ops': 2, // 要求操作符前后必须有空格: 2 + 3 2 === 2 3 > 2
'spaced-comment': [2, 'always'], // 强制在注释中 // 或 /* 使用一致的空格
'array-bracket-spacing': [2, 'never'],// 指定数组的元素之间要以空格隔开(, 后面), never参数:[ 之后和 ] 之前不能带空格,always参数:[ 之后和 ] 之前必须带空格
"space-before-blocks": 2, // if/function等的大括号之前需要有空格
'no-undef-init': 2,// 禁止将变量初始化为 undefined,保存时会将let a = undefined变成let a
'semi': [2, 'always'],//强制结尾必须有分号;
'prefer-const': 2,// 要求使用 const 声明那些声明后不再被修改的变量
'quotes': [2, 'single'],//js中强制使用单引号
'no-multiple-empty-lines': [2, {// 不允许多个空行,最多一行
'max': 1
}],
'vue/order-in-components': ['error', {
'order': [
'el',
'name',
'parent',
'functional',
['delimiters', 'comments'],
['components', 'directives', 'filters'],
'extends',
'mixins',
'inheritAttrs',
'model',
['props', 'propsData'],
'data',
'computed',
'watch',
'LIFECYCLE_HOOKS',
'methods',
['template', 'render'],
'renderError'
]
}],
'vue/attributes-order': ['error', {
'order': [
'DEFINITION',
'LIST_RENDERING',
'CONDITIONALS',
'RENDER_MODIFIERS',
'GLOBAL',
'UNIQUE',
'TWO_WAY_BINDING',
'OTHER_DIRECTIVES',
'OTHER_ATTR',
'EVENTS',
'CONTENT'
]
}],
}
}
'array-bracket-spacing': [2, 'never'], // 指定数组的元素之间要以空格隔开(, 后面), never参数:[ 之后和 ] 之前不能带空格,always参数:[ 之后和 ] 之前必须带空格
'space-before-blocks': 2, // if/function等的大括号之前需要有空格
'no-undef-init': 2, // 禁止将变量初始化为 undefined,保存时会将let a = undefined变成let a
semi: [2, 'always'], //强制结尾必须有分号;
'prefer-const': 2, // 要求使用 const 声明那些声明后不再被修改的变量
quotes: [2, 'single'], //js中强制使用单引号
'no-multiple-empty-lines': [
2,
{
// 不允许多个空行,最多一行
max: 1,
},
],
'vue/order-in-components': [
'error',
{
order: [
'el',
'name',
'parent',
'functional',
['delimiters', 'comments'],
['components', 'directives', 'filters'],
'extends',
'mixins',
'inheritAttrs',
'model',
['props', 'propsData'],
'data',
'computed',
'watch',
'LIFECYCLE_HOOKS',
'methods',
['template', 'render'],
'renderError',
],
},
],
'vue/attributes-order': [
'error',
{
order: [
'DEFINITION',
'LIST_RENDERING',
'CONDITIONALS',
'RENDER_MODIFIERS',
'GLOBAL',
'UNIQUE',
'TWO_WAY_BINDING',
'OTHER_DIRECTIVES',
'OTHER_ATTR',
'EVENTS',
'CONTENT',
],
},
],
},
};
import insuranceBindCode from '@/views/insurance-bind-code/insurance-bind-code';
import insuranceBindCodeSuccess from '@/views/insurance-bindCode-success/insurance-bindCode-success';
import insuranceDetectionDetail from '@/views/insurance-detection-detail/insurance-detection-detail';
import { router, } from '@pica-cli/vue-cli-plugin-pica-cli-plugin/auto';
import { router } from '@pica-cli/vue-cli-plugin-pica-cli-plugin/auto';
import { headerConfigByMeta } from 'mn-template/util/routerUtil';
import handleAllRouter from '../public_uat';
const routerConfig = [
......@@ -48,7 +48,8 @@ const routerConfig = [
{
path: '/insuranceQuestionResult',
name: 'insuranceQuestionResult',
component: () => import('@/views/insurance-question-result/insuranceQuestionResult.vue'),
component: () =>
import('@/views/insurance-question-result/insuranceQuestionResult.vue'),
meta: {
title: '问卷结果页面',
},
......@@ -56,7 +57,10 @@ const routerConfig = [
{
path: '/insuranceQuestionResultPay',
name: 'insuranceQuestionResultPay',
component: () => import('@/views/insurance-question-result-pay/insuranceQuestionResult.vue'),
component: () =>
import(
'@/views/insurance-question-result-pay/insuranceQuestionResult.vue'
),
meta: {
title: '问卷结果页面',
},
......@@ -139,6 +143,14 @@ const routerConfig = [
title: '惠民保癌筛权益领取',
},
},
{
path: '/sz-public-new2',
name: 'sz-public-new2',
component: () => import('@/views/sz-public-new/index2.vue'),
meta: {
title: '惠民保癌筛权益领取',
},
},
{
path: '/tb-public',
name: 'tb-public',
......@@ -174,7 +186,6 @@ const routerConfig = [
router.beforeEach(async (to, from, next) => {
headerConfigByMeta(to);
next();
});
router.addRoutes(routerConfig);
......
<!-- eslint-disable -->
<template>
<div class="page-wrapper">
<img
class="pic"
:src="bgPath"
/>
<div
v-for="(url, index) in staticINFO.logoUrlList"
:key="index"
>
<img
class="pic"
:src="url"
/>
</div>
<div
v-for="(url, index) in staticINFO2.descList"
:key="index"
@click="handleBanner(index)"
>
<img
class="pic"
:src="url"
/>
</div>
<div class="footer-box">
<div class="fixed-btn">
<div
class="wx-btn"
v-if="picaWechat != 'wechat'"
>
<span>领取权益</span>
</div>
<wx-open-launch-weapp
v-else
:username="openWebAppConfigPositive.username"
:path="openWebAppConfigPositive.path"
:env-version="envVersion"
@error="handleErrorFn"
@launch="handleLaunchFn"
>
<script type="text/wxtag-template">
<div class="wx-btn">
<span>领取权益</span>
</div>
<style>
.wx-btn {
display: block;
width: 350px;
height: 40px;
margin: 5px auto;
border-radius: 20px;
font-size: 16px;
font-weight: 600;
color: #ffffff;
line-height: 40px;
text-align: center;
background: linear-gradient(270deg, #ff7400 0%, #fe4000 100%);
}
</style>
</script>
</wx-open-launch-weapp>
</div>
</div>
</div>
</template>
<script>
import { getBanner } from '@/api/entitlement';
import { uploadPointData } from '@/api/question';
import { isWeixin } from '@/utils/index';
export default {
data() {
return {
picaWechat: window._picaWechat,
headerInfo: {
title: '健康服务权益领取',
isBlack: true,
backMethod: 'web',
style: 'backgroundColor:#ffffff;zIndex:100;',
background: '',
},
envVersion: process.env.VUE_APP_MINI_PROGRAM_ENV,
openWebAppConfigPositive: {
username: 'gh_e92f58174364', // 小程序唯一username 1.gh_80d54796f2d5 云鹊助手 2. gh_e92f58174364 云鹊健康
path: 'pagesInsurance/health-card/index', // 打开页面
extraData: JSON.stringify({}),
},
bgPath: '',
staticINFO: {
logoUrlList: [],
},
staticINFO2: {
descList: [],
descBottomList: [],
},
};
},
created() {
if (!isWeixin()) {
this.$dialog
.alert({
type: 'warning',
title: '提示',
message: '请在微信中扫码打开!',
confirmButtonText: '我知道了',
})
.then(() => {
// on close
});
}
},
mounted() {
document.title = this.headerInfo.title;
const {
externalOrderNo = '',
projectEquityNo = '',
rightsNo = '',
channelCode = '',
userInfo = '',
} = this.$route.query;
this.getBanner(7, rightsNo || projectEquityNo);
this.getBanner2(36, rightsNo || projectEquityNo);
this.openWebAppConfigPositive.path = `pagesInsurance/health-card/index?channelCode=${channelCode}&projectEquityNo=${projectEquityNo}&externalOrderNo=${externalOrderNo}&rightsNo=${rightsNo}&userInfo=${userInfo}`;
if (channelCode) uploadPointData({ channelCode });
this.$sendBuriedData(
{
action: 'ACTION_WEB_ENTER',
component_tag: '7802964#0#0#保险入口页面',
web_data: {
projectEquityNo: projectEquityNo,
externalOrderNo: externalOrderNo,
rightsNo: rightsNo,
userInfo: userInfo,
channelCode: channelCode,
},
},
'enter'
);
},
methods: {
getBanner(pageType, yunOrderNo) {
this.$loading.show();
getBanner(pageType, yunOrderNo).then((res) => {
if (res.code === '000000') {
this.bgPath = res.data.logoUrl;
this.staticINFO = res.data;
this.$loading.hide();
}
});
},
getBanner2(pageType, yunOrderNo) {
this.$loading.show();
getBanner(pageType, yunOrderNo).then((res) => {
if (res.code === '000000') {
this.staticINFO2 = res.data;
this.$loading.hide();
}
});
},
handleErrorFn(e) {
console.log('handleErrorFn', e);
},
handleLaunchFn(e) {
console.log('handleLaunchFn', e);
},
handleBanner(index) {
console.log('index', index);
window.location.href = this.staticINFO2.descBottomList[index];
},
},
};
</script>
<style lang="scss" scoped>
.page-wrapper {
min-height: 100vh;
background-color: #bee2fd;
}
.footer-box {
height: 50px;
padding-bottom: calc(constant(safe-area-inset-bottom) / 2);
padding-bottom: calc(env(safe-area-inset-bottom) / 2);
box-sizing: content-box;
}
.fixed-btn {
position: fixed;
left: 0;
right: 0;
bottom: 0;
height: 50px;
padding-bottom: calc(constant(safe-area-inset-bottom) / 2);
padding-bottom: calc(env(safe-area-inset-bottom) / 2);
box-shadow: inset 0px 1px 0px 0px #e9e9e9;
background-color: #fff;
box-sizing: content-box;
z-index: 9999;
.wx-btn {
display: block;
width: 350px;
height: 40px;
margin: 5px auto;
border-radius: 20px;
font-size: 16px;
font-weight: 600;
color: #ffffff;
line-height: 40px;
text-align: center;
background: linear-gradient(270deg, #ff7400 0%, #fe4000 100%);
}
}
</style>
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册