Commit 01f0d080 authored by tanjuanjuan's avatar tanjuanjuan

修改

parent 0577dcac
......@@ -25,7 +25,7 @@
"pinia": "2.0.36",
"vue": "^3.3.11",
"vue-i18n": "^9.1.9",
"wot-design-uni": "^1.3.2",
"wot-design-uni": "^1.5.1",
"xinhua-sdk": "^1.10.1"
},
"devDependencies": {
......@@ -5418,9 +5418,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001636",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz",
"integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==",
"version": "1.0.30001690",
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz",
"integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==",
"funding": [
{
"type": "opencollective",
......@@ -12292,9 +12292,9 @@
}
},
"node_modules/wot-design-uni": {
"version": "1.3.2",
"resolved": "https://registry.npmmirror.com/wot-design-uni/-/wot-design-uni-1.3.2.tgz",
"integrity": "sha512-y8mFY6qIbHYqP3atlBV9lgrKt+jO2FjO9uvUlWUuo8PccEAyAm3hCnLqAm7MkOhMiMPpp3OnVtDnln/GS1BgJQ==",
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/wot-design-uni/-/wot-design-uni-1.5.1.tgz",
"integrity": "sha512-jiDRuF8r7+xAldc4Dp+2T1VnqDnOoMWsXu6aRpDg2QG7ZH+/bJl7W8H8hHbKFgA9lu1By/HCDmpG7JC45nYtBw==",
"engines": {
"HBuilderX": "^3.8.7"
},
......
......@@ -25,7 +25,7 @@
"pinia": "2.0.36",
"vue": "^3.3.11",
"vue-i18n": "^9.1.9",
"wot-design-uni": "^1.3.2",
"wot-design-uni": "^1.5.1",
"xinhua-sdk": "^1.10.1"
},
"devDependencies": {
......
......@@ -27,4 +27,19 @@ export const mapInfo=(query)=>{
url:"/gjjzx",
data:query
})
}
export const agreementInfo=(query)=>{
return request({
url:"/gjjhqxynr",
data:query
})
}
export const signAgreement=(query)=>{
return request({
url:"/gjjsfqdxy",
data:query
})
}
\ No newline at end of file
/*
* HTML5 Parser By Sam Blowes
*
* Designed for HTML5 documents
*
* Original code by John Resig (ejohn.org)
* http://ejohn.org/blog/pure-javascript-html-parser/
* Original code by Erik Arvidsson, Mozilla Public License
* http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
*
* ----------------------------------------------------------------------------
* License
* ----------------------------------------------------------------------------
*
* This code is triple licensed using Apache Software License 2.0,
* Mozilla Public License or GNU Public License
*
* ////////////////////////////////////////////////////////////////////////////
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* ////////////////////////////////////////////////////////////////////////////
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Simple HTML Parser.
*
* The Initial Developer of the Original Code is Erik Arvidsson.
* Portions created by Erik Arvidssson are Copyright (C) 2004. All Rights
* Reserved.
*
* ////////////////////////////////////////////////////////////////////////////
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* ----------------------------------------------------------------------------
* Usage
* ----------------------------------------------------------------------------
*
* // Use like so:
* HTMLParser(htmlString, {
* start: function(tag, attrs, unary) {},
* end: function(tag) {},
* chars: function(text) {},
* comment: function(text) {}
* });
*
* // or to get an XML string:
* HTMLtoXML(htmlString);
*
* // or to get an XML DOM Document
* HTMLtoDOM(htmlString);
*
* // or to inject into an existing document/DOM node
* HTMLtoDOM(htmlString, document);
* HTMLtoDOM(htmlString, document.body);
*
*/
// Regular Expressions for parsing tags and attributes
var startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
var endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/;
var attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g; // Empty Elements - HTML 5
var empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr'); // Block Elements - HTML 5
// fixed by xxx 将 ins 标签从块级名单中移除
var block = makeMap('a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video'); // Inline Elements - HTML 5
var inline = makeMap('abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'); // Elements that you can, intentionally, leave open
// (and which close themselves)
var closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'); // Attributes that have their values filled in disabled="disabled"
var fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'); // Special Elements (can contain anything)
var special = makeMap('script,style');
function HTMLParser(html, handler) {
var index;
var chars;
var match;
var stack = [];
var last = html;
stack.last = function () {
return this[this.length - 1];
};
while (html) {
chars = true; // Make sure we're not in a script or style element
if (!stack.last() || !special[stack.last()]) {
// Comment
if (html.indexOf('<!--') == 0) {
index = html.indexOf('-->');
if (index >= 0) {
if (handler.comment) {
handler.comment(html.substring(4, index));
}
html = html.substring(index + 3);
chars = false;
} // end tag
} else if (html.indexOf('</') == 0) {
match = html.match(endTag);
if (match) {
html = html.substring(match[0].length);
match[0].replace(endTag, parseEndTag);
chars = false;
} // start tag
} else if (html.indexOf('<') == 0) {
match = html.match(startTag);
if (match) {
html = html.substring(match[0].length);
match[0].replace(startTag, parseStartTag);
chars = false;
}
}
if (chars) {
index = html.indexOf('<');
var text = index < 0 ? html : html.substring(0, index);
html = index < 0 ? '' : html.substring(index);
if (handler.chars) {
handler.chars(text);
}
}
} else {
html = html.replace(new RegExp('([\\s\\S]*?)<\/' + stack.last() + '[^>]*>'), function (all, text) {
text = text.replace(/<!--([\s\S]*?)-->|<!\[CDATA\[([\s\S]*?)]]>/g, '$1$2');
if (handler.chars) {
handler.chars(text);
}
return '';
});
parseEndTag('', stack.last());
}
if (html == last) {
throw 'Parse Error: ' + html;
}
last = html;
} // Clean up any remaining tags
parseEndTag();
function parseStartTag(tag, tagName, rest, unary) {
tagName = tagName.toLowerCase();
if (block[tagName]) {
while (stack.last() && inline[stack.last()]) {
parseEndTag('', stack.last());
}
}
if (closeSelf[tagName] && stack.last() == tagName) {
parseEndTag('', tagName);
}
unary = empty[tagName] || !!unary;
if (!unary) {
stack.push(tagName);
}
if (handler.start) {
var attrs = [];
rest.replace(attr, function (match, name) {
var value = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : fillAttrs[name] ? name : '';
attrs.push({
name: name,
value: value,
escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') // "
});
});
if (handler.start) {
handler.start(tagName, attrs, unary);
}
}
}
function parseEndTag(tag, tagName) {
// If no tag name is provided, clean shop
if (!tagName) {
var pos = 0;
} // Find the closest opened tag of the same type
else {
for (var pos = stack.length - 1; pos >= 0; pos--) {
if (stack[pos] == tagName) {
break;
}
}
}
if (pos >= 0) {
// Close all the open elements, up the stack
for (var i = stack.length - 1; i >= pos; i--) {
if (handler.end) {
handler.end(stack[i]);
}
} // Remove the open elements from the stack
stack.length = pos;
}
}
}
function makeMap(str) {
var obj = {};
var items = str.split(',');
for (var i = 0; i < items.length; i++) {
obj[items[i]] = true;
}
return obj;
}
function removeDOCTYPE(html) {
return html.replace(/<\?xml.*\?>\n/, '').replace(/<!doctype.*>\n/, '').replace(/<!DOCTYPE.*>\n/, '');
}
function parseAttrs(attrs) {
return attrs.reduce(function (pre, attr) {
var value = attr.value;
var name = attr.name;
if (pre[name]) {
pre[name] = pre[name] + " " + value;
} else {
pre[name] = value;
}
return pre;
}, {});
}
function parseHtml(html) {
html = removeDOCTYPE(html);
var stacks = [];
var results = {
node: 'root',
children: []
};
HTMLParser(html, {
start: function start(tag, attrs, unary) {
var node = {
name: tag
};
if (attrs.length !== 0) {
node.attrs = parseAttrs(attrs);
}
if (unary) {
var parent = stacks[0] || results;
if (!parent.children) {
parent.children = [];
}
parent.children.push(node);
} else {
stacks.unshift(node);
}
},
end: function end(tag) {
var node = stacks.shift();
if (node.name !== tag) console.error('invalid state: mismatch end tag');
if (stacks.length === 0) {
results.children.push(node);
} else {
var parent = stacks[0];
if (!parent.children) {
parent.children = [];
}
parent.children.push(node);
}
},
chars: function chars(text) {
var node = {
type: 'text',
text: text
};
if (stacks.length === 0) {
results.children.push(node);
} else {
var parent = stacks[0];
if (!parent.children) {
parent.children = [];
}
parent.children.push(node);
}
},
comment: function comment(text) {
var node = {
node: 'comment',
text: text
};
var parent = stacks[0];
if (!parent.children) {
parent.children = [];
}
parent.children.push(node);
}
});
return results.children;
}
export default parseHtml;
......@@ -5,40 +5,64 @@
"^wd-(.*)": "wot-design-uni/components/wd-$1/wd-$1.vue"
}
},
"pages": [
{
"pages": [{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "公积金",
"enablePullDownRefresh":false
"enablePullDownRefresh": false
}
},{
"path": "pages/resign/resign",
"style": {
"navigationBarTitleText": "离职提取",
"enablePullDownRefresh": false
}
},{
"path": "pages/resignDetail/resignDetail",
"style": {
"navigationBarTitleText": "离职提取",
"enablePullDownRefresh": false
}
}, {
"path": "pages/lessThanSixty/lessThanSixty",
"style": {
"navigationBarTitleText": "提前退休提取",
"enablePullDownRefresh": false
}
}, {
"path": "pages/moreThanSixty/moreThanSixty",
"style": {
"navigationBarTitleText": "正常退休提取",
"enablePullDownRefresh": false
}
},
{
"path": "pages/map/map",
"style": {
"navigationBarTitleText": "贵阳公积金中心地图",
"enablePullDownRefresh":false
"enablePullDownRefresh": false
}
},
{
"path": "pages/loan/loan",
"style": {
"navigationBarTitleText": "公积金贷款详情",
"enablePullDownRefresh":false
"enablePullDownRefresh": false
}
},
{
"path": "pages/list/list",
"style": {
"navigationBarTitleText": "账户变动明细",
"enablePullDownRefresh":false
"enablePullDownRefresh": false
}
},
{
"path": "pages/account/account",
"style": {
"navigationBarTitleText": "公积金账户信息",
"enablePullDownRefresh":false
"enablePullDownRefresh": false
}
}
],
......
......@@ -8,7 +8,7 @@
<view class="welcome">欢迎使用贵阳公积金</view>
<view class="status"><span>账户状态:</span><span id="accountStatus">{{pInfo.hjstatus}}</span></view>
<view class="btngroup">
<view @click="goToDetail" class="goToDetail">
<view @click="goTo('/pages/account/account')" class="goToDetail">
查看账户详情
</view>
</view>
......@@ -21,7 +21,7 @@
<view class="item_box">
<view class="ibox">
<p>公积金余额(元)</p>
<view class="yefake" v-if="flag1" @click="toggleFlag1">
<view class="yefake" v-if="flag1" @click="toggleFlag1 ">
<span class="fakeStar">****</span>
<span class="iconfont icon-biyan"></span>
</view>
......@@ -32,7 +32,7 @@
</view>
<view class="iboxcommon">
<view class="thin-line-scaled"></view>
<view @click="goToList(0)" class="iboxc">
<view @click="goTo('/pages/list/list?type=0')" class="iboxc">
<span>账户变动明细</span>
<span class="iconfont icon-jiantou2"></span>
</view>
......@@ -52,7 +52,7 @@
<span class="fakeStar txt">{{pInfo.spmfact}}</span>
<span class="iconfont icon-yanjing-zhengyan"></span>
</view>
<view @click="goToList(1)" class="getMore">
<view @click="goTo('/pages/list/list?type=1')" class="getMore">
<span>更多</span>
<span class="iconfont icon-jiantou2"></span>
</view>
......@@ -66,7 +66,7 @@
</view> -->
</view>
</view>
<!-- <view class="item">
<view class="item">
<view class="item_title">提取</view>
<view class="item_box">
<view class="iboxcommon">
......@@ -77,20 +77,20 @@
</view>
<view class="iboxcommon">
<view class="thin-line-scaled"></view>
<view class="iboxc">
<view @click="goTo('/pages/resign/resign')" class="iboxc">
<span>离职提取</span>
<a href="#"><span class="iconfont icon-jiantou2"></span></a>
<span class="iconfont icon-jiantou2"></span>
</view>
</view>
<view class="iboxcommon">
<view class="thin-line-scaled"></view>
<view class="iboxc">
<span>提取进度查询</span>
<a href="#"><span class="iconfont icon-jiantou2"></span></a>
<span class="iconfont icon-jiantou2"></span>
</view>
</view>
</view>
</view> -->
</view>
<view class="item">
<view class="item_title">贷款</view>
<view class="item_box">
......@@ -105,7 +105,7 @@
<span class="fakeStar txt">{{loadData.bjye}}</span>
<span class="iconfont icon-yanjing-zhengyan"></span>
</view>
<view @click="goToLoan" class="getMore">
<view @click="goTo('/pages/loan/loan')" class="getMore">
<span>更多</span>
<span class="iconfont icon-jiantou2"></span>
</view>
......@@ -114,7 +114,7 @@
</view>
<view class="item">
<view class="item_title">更多服务</view>
<view class="item_box" @click="goToMap">公积金地图</view>
<view class="item_box" @click="goTo('/pages/map/map')">公积金地图</view>
</view>
</view>
......@@ -180,6 +180,14 @@
const loadData = computed(() => {
return infoStore.loanInfo || ""
})
const goTo=(url)=>{
xma.navigateTo({
url: url,
animationType: 'pop-in',
animationDuration: 200
})
}
const goToDetail = () => {
xma.navigateTo({
url: "/pages/account/account",
......@@ -365,7 +373,6 @@
.item .item_title {
font-size: 20px;
margin-bottom: 10px;
;
}
.item .item_box {
......
<template>
<view class="main">
<view class="inner">
<view class="box1">
<view class="item">
<view class="title">提示</view>
</view>
<view class="content">
<view class="txt" v-if="shortText">
<view class="para">一、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
</view>
<view class="txt" v-else>
<view class="para">一、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">二、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">三、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
</view>
<view class="btnbox">
<wd-button size="small" type="info" @click="toggleInfo" icon="arrow-down" custom-class="btnstyle"
v-if="shortText">展开</wd-button>
<wd-button size="small" type="info" @click="toggleInfo" icon="arrow-up" custom-class="btnstyle"
v-else>折叠</wd-button>
</view>
</view>
</view>
<view class="box1">
<view class="item">
<view class="title">输入提取信息</view>
</view>
<view class="content">
<view class="box2">
<view class="b2item">收款人姓名:某某</view>
<view class="b2item">公积金可用余额:<view class="em">1000000</view>
</view>
</view>
<view class="bankInfo">
<wd-form ref="form" :model="model" class="resignForm">
<wd-input type="text" label="手机号码" align-right placeholder="请输入手机号码" v-model="model.value1" prop="value1"
:rules="[{ required: true, message: '请输入手机号码' },{pattern: /\d{6}/, message: '请输入6位字符' }]" />
<wd-input type="text" label="申请金额" align-right placeholder="请输入金额" v-model="model.value2" prop="value2"
:rules="[{ required: true, message: '请填写本人借记卡卡号' }]" />
<wd-picker :columns="columns" label="收款银行" align-right v-model="model.value3" prop="value3"
:rules="[{ required: true, message: '请选择收款银行' }]" />
<wd-input type="text" label="收款卡号" align-right placeholder="请输入本人银行卡号" v-model="model.value4"
prop="value4" :rules="[{ required: true, message: '请填写本人借记卡卡号' }]" />
</wd-form>
</view>
</view>
</view>
<view class="footer">
<wd-button type="warning" size="large" @click="handleSubmit" block>提交</wd-button>
</view>
</view>
</view>
</template>
<script setup>
import xh from 'xinhua-sdk';
import {
useToast
} from 'wot-design-uni'
import {
ref,
reactive
} from 'vue'
const shortText = ref(true)
const toggleInfo = () => {
shortText.value = !shortText.value
}
const {
success: showSuccess
} = useToast()
const model = reactive({
value1: '',
value2: '',
value3: '',
value4: ''
})
const form = ref()
const columns = ref(['选项1', '选项2', '选项3', '选项4', '选项5', '选项6', '选项7'])
function handleSubmit() {
form.value
.validate()
.then(({
valid,
errors
}) => {
console.log("form validation!!!!!")
console.log(valid)
if (valid) {
showSuccess({
msg: '校验通过'
})
}
})
.catch((error) => {
console.log(error, 'error')
})
}
</script>
<style scoped>
* {
padding: 0px;
margin: 0px;
font-family: "Microsoft YaHei";
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.main {
width: 100%;
max-width: 750px;
padding-bottom: 20px;
}
.inner {
width: 88%;
margin: 20px auto;
}
.box1 {
margin-bottom: 20px;
}
.item {
padding: 15px 0px;
box-sizing: border-box;
border-bottom: 1px solid #ececec;
}
.item .title {
position:relative;
text-indent: 10px;
display: flex;
align-items: center;
}
.title:before{
content:"";
display:block;
width:5px;
height:16px;
border-radius:3px;
background:rgb(249, 99, 26);
position:absolute;
top:3px;
left:0px;
}
.content {
background-color: white;
padding: 18px 18px 15px;
box-sizing: border-box;
display: flex;
flex-direction: column;
border-radius: 6px;
text-align: justify;
transition: height 0.3s linear;
}
.para {
font-size: 14px;
color: #000;
margin-bottom: 12px;
}
.btnbox {
text-align: right
}
.btnbox {
:deep() {
color: #000;
border-radius: 6px;
}
}
.box2 {
display: flex;
flex-direction: column;
margin-bottom: 10px;
padding: 0 12px
}
.b2item {
font-size: 14px;
color: #ccc;
display: flex;
flex-direction: flex;
margin-bottom: 5px;
}
.b2item .em {
color: #ef7038
}
.bankInfo {
background-color: #f4fcff;
border-radius: 5px;
}
.resignForm {
:deep() {
background-color: transparent
}
}
.resignForm :deep(*) {
background-color: transparent
}
.footer {
width: 80%;
margin: 20px auto
}
</style>
\ No newline at end of file
<template>
<view class="main">
<view class="inner">
<view class="box1">
<view class="item">
<view class="title">提示</view>
</view>
<view class="content">
<view class="txt" v-if="shortText">
<view class="para">一、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
</view>
<view class="txt" v-else>
<view class="para">一、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">二、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">三、承诺部分</view>
<view class="para">1.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
<view class="para">2.申请人承诺所提供的公积金提取申请材料真实、完整、有效,不存在虚假陈述、伪造材料等行为。</view>
</view>
<view class="btnbox">
<wd-button size="small" type="info" @click="toggleInfo" icon="arrow-down" custom-class="btnstyle"
v-if="shortText">展开</wd-button>
<wd-button size="small" type="info" @click="toggleInfo" icon="arrow-up" custom-class="btnstyle"
v-else>折叠</wd-button>
</view>
</view>
</view>
<view class="box1">
<view class="item">
<view class="title">用户信息</view>
</view>
<view class="content">
<view class="userinfo">
<view>单位名称</view>
<view>巴拉巴拉巴拉公司</view>
</view>
<view class="userinfo">
<view>职工姓名</view>
<view>某某某</view>
</view>
<view class="userinfo">
<view>公积金账号</view>
<view>00000000000000000</view>
</view>
<view class="userinfo">
<view>公积金余额</view>
<view>1000000000</view>
</view>
</view>
</view>
<view class="box1">
<view class="item">
<view class="title">收款信息</view>
</view>
<view class="content">
<view class="bankInfo">
<wd-form ref="form" :model="model" class="resignForm">
<wd-picker :columns="columns" label="收款银行" align-right v-model="model.value1" prop="value1"
:rules="[{ required: true, message: '请选择收款银行' }]" />
<wd-input type="text" label="收款卡号" align-right placeholder="请输入本人银行卡号" v-model="model.value2"
prop="value2" :rules="[{ required: true, message: '请填写本人借记卡卡号' }]" />
</wd-form>
</view>
</view>
</view>
<view class="footer">
<wd-button type="warning" size="large" @click="handleSubmit" block>提交</wd-button>
</view>
</view>
</view>
</template>
<script setup>
import xh from 'xinhua-sdk';
import {
useToast
} from 'wot-design-uni'
import {
ref,
reactive
} from 'vue'
const shortText = ref(true)
const toggleInfo = () => {
shortText.value = !shortText.value
}
const {
success: showSuccess
} = useToast()
const model = reactive({
value1: '',
value2: ''
})
const form = ref()
const columns = ref(['选项1', '选项2', '选项3', '选项4', '选项5', '选项6', '选项7'])
function handleSubmit() {
form.value
.validate()
.then(({
valid,
errors
}) => {
console.log("form validation!!!!!")
console.log(valid)
if (valid) {
showSuccess({
msg: '校验通过'
})
}
})
.catch((error) => {
console.log(error, 'error')
})
}
</script>
<style scoped>
* {
padding: 0px;
margin: 0px;
font-family: "Microsoft YaHei";
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.main {
width: 100%;
max-width: 750px;
padding-bottom: 20px;
}
.inner {
width: 88%;
margin: 20px auto;
}
.box1 {
margin-bottom: 20px;
}
.item {
padding: 15px 0px;
box-sizing: border-box;
border-bottom: 1px solid #ececec;
}
.item .title {
text-indent: 10px;
display: flex;
align-items: center;
position:relative
}
.title:before{
content:"";
display:block;
width:5px;
height:16px;
border-radius:3px;
background:rgb(249, 99, 26);
position:absolute;
top:3px;
left:0px;
}
.content {
background-color: white;
padding: 18px 18px 15px;
box-sizing: border-box;
display: flex;
flex-direction: column;
border-radius: 6px;
text-align: justify;
transition: height 0.3s linear;
}
.para {
font-size: 14px;
color: #000;
margin-bottom: 12px;
}
.btnbox {
text-align: right
}
.btnbox {
:deep() {
color: #000;
border-radius: 6px;
}
}
.box2 {
display: flex;
flex-direction: column;
margin-bottom: 10px;
padding: 0 12px
}
.b2item {
font-size: 14px;
color: #ccc;
display: flex;
flex-direction: flex;
margin-bottom: 5px;
}
.b2item .em {
color: #ef7038
}
.bankInfo {
background-color: #f4fcff;
border-radius: 5px;
}
.resignForm {
:deep() {
background-color: transparent
}
}
.resignForm :deep(*) {
background-color: transparent
}
.footer {
width: 80%;
margin: 20px auto
}
.userinfo{display:flex;flex-direction:row;align-items:center;justify-content:space-between;font-size:14px;margin-bottom:10px;}
</style>
\ No newline at end of file
<template>
<view class="main">
<view class="inner">
<view class="item">
<view class="title">承诺授权</view>
</view>
<view class="item1">
<view class="content">
<rich-text :nodes="agreeContent"></rich-text>
</view>
<view class="red" @click="copyPaste">复制并粘贴</view>
<view class="textareastyle">
<wd-textarea v-model="promiseValue" placeholder="请完整输入本人授权同意内容" auto-height
no-border/>
<view class="err" v-if="errFlag">请完整输入本人授权同意内容</view>
</view>
</view>
<view class="item2">
<wd-button type="warning" class="btngp" v-if="countFlag">请等待{{count}}</wd-button>
<wd-button type="warning" class="btngp" v-else @click="goToNext">同意授权承诺</wd-button>
<wd-button type="warning" class="btngp" @click="goBack">不同意</wd-button>
</view>
</view>
</view>
</template>
<script setup>
import xh from 'xinhua-sdk';
import {
ref,computed
} from 'vue'
import {agreementInfo,signAgreement} from '../../api/request'
import {infoPinia} from '@/store'
const infoStore=infoPinia()
const pCardNo = computed(() => {
return infoStore.spidno || 0
})
console.log(infoStore.spidno)
const standstr="本人已仔细阅读上述所有内容,同意授权并遵守上述承诺。"
const agreeContent=ref('');
const agreeTitle=ref("")
const promiseValue = ref("")
const count = ref(5);
const countFlag = ref(true)
const errFlag = ref(false)
const escapeHtml=(str)=>{
var arrEntities={
'lt':'<',
'gt':'>',
'nbsp':''
}
return str.replace(/&(lt|gt|nbsp);/ig,function(all,t){
return arrEntities[t]
})
}
signAgreement({
"zjhm":pCardNo.value
}).then(res=>{
console.log(res)
})
agreementInfo({
"nodedm":359
}).then(res => {
const data = JSON.parse(res.data);
agreeTitle.value=data.data.list.acc_info[0].bt;
agreeContent.value=escapeHtml(data.data.list.acc_info[0].nrnew);
})
const countTimer = setInterval(() => {
if (count.value == 1) {
countFlag.value = false;
clearInterval(countTimer)
}
count.value--
}, 1000)
const copyPaste = () => {
promiseValue.value = standstr
}
const goToNext=()=>{
if(promiseValue.value != standstr){
errFlag.value=true;
return;
}
xma.navigateTo({
url: "/pages/account/account",
animationType: 'pop-in',
animationDuration: 200
})
}
const goBack=()=>{
xma.navigateTo({
url: "/pages/index/index",
animationType: 'pop-in',
animationDuration: 200
})
}
</script>
<style scoped>
* {
padding: 0px;
margin: 0px;
font-family: "Microsoft YaHei";
}
.main {
width: 100%;
max-width: 750px;
padding-bottom: 20px;
}
.inner {
width: 100%;
margin: 3px auto;
}
.item {
border-radius: 6px;
background-color: white;
padding: 10px 25px;
box-sizing: border-box;
margin-bottom: 2px;
}
.item .title {
position:relative;
text-indent: 10px;
}
.title:before{
content:"";
display:block;
width:5px;
height:16px;
border-radius:3px;
background:rgb(249, 99, 26);
position:absolute;
top:3px;
left:0px;
}
.content{margin-bottom:20px}
.content p{font-size:14px;line-height:20px;}
.item1 {
border-radius: 6px;
background-color: white;
padding: 30px 30px 40px;
box-sizing: border-box;
text-align: justify;
}
.item2 {
border-radius: 6px;
padding: 20px 15px;
box-sizing: border-box;
display: flex;
flex-direction: column
}
.item1 .para {
font-size: 14px;
color: #a3a3a3;
margin-bottom: 15px;
}
.red {
font-size: 14px;
font-weight: bold;
color: red;
margin-bottom:8px;
}
.promise {
background: red
}
.btngp {
width: 80%;
margin: 0 auto 10px
}
.err{font-size:12px;color:red !important;margin-top:5px;}
.textareastyle{background:#f4fcff;padding:5px 10px;box-sizing:border-box;border-radius: 5px;}
.textareastyle{
:deep(){
background-color:transparent;
border-bottom: none;
color:#423f3f;
text-align:justify;
}
}
.textareastyle :deep(*){
background-color:transparent;
border-bottom: none;
color:#423f3f;
text-align:justify;
}
</style>
\ No newline at end of file
<template>
<view class="main">
<view class="inner">
<view class="box1">
<view class="item">
<view class="title">用户信息</view>
</view>
<view class="content">
<view class="c1">单位名称:贵阳市巴拉巴拉公司</view>
<view class="c2">职工姓名:某某</view>
<view class="c2">公积金账号:贵阳市巴拉巴拉公司</view>
<view class="c2">公积金余额:100000</view>
<view class="c3">
<view class="c2">账户状态:封存</view>
<view class="c2">封存类型:离职封存封存</view>
</view>
</view>
</view>
<view class="box1">
<view class="item">
<view class="title">
<view>收款信息</view>
<view class="stitle">(提取公积金只能转入本人借记卡)</view>
</view>
</view>
<view class="content">
<view class="box2">
<view class="b2item">收款人姓名:某某</view>
<view class="b2item">公积金可用余额:<view class="em">1000000</view>
</view>
</view>
<view class="bankInfo">
<wd-form ref="form" :model="model" class="resignForm">
<wd-picker :columns="columns" label="收款银行" align-right v-model="model.value1" prop="value1"
:rules="[{ required: true, message: '请选择收款银行' }]" />
<wd-input type="text" label="收款卡号" align-right placeholder="请输入本人银行卡号" v-model="model.value2"
prop="value2" :rules="[{ required: true, message: '请填写本人借记卡卡号' }]" />
</wd-form>
</view>
</view>
</view>
<view class="footer">
<wd-button type="warning" size="large" @click="handleSubmit" block>提交</wd-button>
</view>
</view>
<wd-toast />
</view>
</template>
<script setup>
import xh from 'xinhua-sdk';
import {
useToast
} from 'wot-design-uni'
import {
ref,
reactive
} from 'vue'
const {
success: showSuccess
} = useToast()
const model = reactive({
value1: '',
value2: ''
})
const form = ref()
const columns = ref(['选项1', '选项2', '选项3', '选项4', '选项5', '选项6', '选项7'])
function handleSubmit() {
form.value
.validate()
.then(({
valid,
errors
}) => {
console.log("form validation!!!!!")
console.log(valid)
if (valid) {
showSuccess({
msg: '校验通过'
})
}
})
.catch((error) => {
console.log(error, 'error')
})
}
</script>
<style scoped>
* {
padding: 0px;
margin: 0px;
font-family: "Microsoft YaHei";
}
.main {
width: 100%;
max-width: 750px;
padding-bottom: 20px;
}
.inner {
width: 88%;
margin: 20px auto;
}
.item {
padding: 12px 0px;
box-sizing: border-box;
border-bottom: 1px solid #ececec;
}
.item .title {
position:relative;
text-indent: 10px;
display: flex;
align-items: center;
}
.title:before{
content:"";
display:block;
width:5px;
height:16px;
border-radius:3px;
background:#;
position:absolute;
top:3px;
left:0px;
}
.stitle {
color: #ccc;
font-size: 12px;
margin-left: 10px;
}
.content {
background-color: white;
padding: 24px 15px 20px;
box-sizing: border-box;
display: flex;
flex-direction: column;
border-radius: 8px;
}
.c1 {
font-weight: bold;
}
.c1,
.c2 {
font-size: 14px;
color: black;
margin-bottom: 13px;
}
.c3 {
display: flex;
justify-content: space-between
}
.c3 .c2{margin-bottom:0px;}
.box1 {
margin-bottom: 10px;
padding-bottom:15px;
}
.box2 {
display: flex;
flex-direction: column;
margin-bottom:10px;
padding:0 12px
}
.b2item {
font-size: 14px;
color: #ccc;
display: flex;
flex-direction: flex;
margin-bottom: 5px;
}
.b2item .em {
color: #ef7038
}
.footer {
width: 80%;
margin: 20px auto
}
.bankInfo{background-color:#f4fcff;border-radius:5px;}
.resignForm{
:deep(){
background-color:transparent
}
}
.resignForm :deep(*){
background-color:transparent
}
</style>
\ No newline at end of file
......@@ -2872,9 +2872,9 @@ camelcase@^6.2.0, camelcase@^6.3.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001629:
version "1.0.30001636"
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz"
integrity sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==
version "1.0.30001690"
resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz"
integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==
chalk@^2.4.2:
version "2.4.2"
......@@ -6150,10 +6150,10 @@ which@^2.0.1:
dependencies:
isexe "^2.0.0"
wot-design-uni@^1.3.2:
version "1.3.2"
resolved "https://registry.npmmirror.com/wot-design-uni/-/wot-design-uni-1.3.2.tgz"
integrity sha512-y8mFY6qIbHYqP3atlBV9lgrKt+jO2FjO9uvUlWUuo8PccEAyAm3hCnLqAm7MkOhMiMPpp3OnVtDnln/GS1BgJQ==
wot-design-uni@^1.5.1:
version "1.5.1"
resolved "https://registry.npmmirror.com/wot-design-uni/-/wot-design-uni-1.5.1.tgz"
integrity sha512-jiDRuF8r7+xAldc4Dp+2T1VnqDnOoMWsXu6aRpDg2QG7ZH+/bJl7W8H8hHbKFgA9lu1By/HCDmpG7JC45nYtBw==
wrap-ansi@^7.0.0:
version "7.0.0"
......
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