blob: d82ced235754978e9733098b3736ff6ec7758d4b [file] [log] [blame]
guangchao.xuc43cf972021-01-18 13:37:55 +08001<template>
2 <view class="setQuestion">
3 <view class="setQuestion-container">
4 <view class="setQuestion-item" v-for="(v,i) in list_select" :key='i'>
5 <u-field :disabled="true" :label="v.q_title" :field-style="field_style" v-model="v.q_value" input-align='right'
6 @click="choose_list(i,'confirm'+i)"></u-field>
7 <u-field :label="v.a_title" :field-style="field_style" v-model="v.a_value" input-align='right' placeholder="请输入您的答案"
8 maxlength="20"></u-field>
guangchao.xu6cdd45e2021-04-16 17:44:30 +08009 <!-- #ifdef APP-PLUS -->
10 <u-picker mode="selector" v-model="v.isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="v.func"></u-picker>
11 <!-- #endif -->
12
13 #<!-- #ifdef MP-WEIXIN -->
14 <u-picker mode="selector" v-model="list_select[0].isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="confirm0"></u-picker>
15 <u-picker mode="selector" v-model="list_select[1].isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="confirm1"></u-picker>
16 <u-picker mode="selector" v-model="list_select[2].isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="confirm2"></u-picker>
17 <!-- #endif -->
guangchao.xuc43cf972021-01-18 13:37:55 +080018 </view>
19 </view>
20 <u-button @click="submit" :custom-style="submit_btn">保存密保</u-button>
21 </view>
22</template>
23
24<script>
25 export default {
26 data() {
27 return {
28 field_style: {
29 'font-size': '30rpx',
30 'color': '#6a6a6a'
31 },
32 submit_btn: {
33 width: '600rpx',
34 backgroundColor: '#2FA8E1',
35 color: '#FFFFFF',
36 fontFamily: "PingFang-SC-Medium",
37 fontSize: '30rpx',
38 marginTop: '100rpx',
39 padding: '50rpx 0'
40 },
41 show: false,
42 list: [],
43 list_select: [{
44 q_title: 'Q1:',
45 q_value: '请选择您的密保问题',
46 a_value: '',
47 a_title: 'A1:',
48 isShow: false,
guangchao.xu6cdd45e2021-04-16 17:44:30 +080049 func: function(){}
guangchao.xuc43cf972021-01-18 13:37:55 +080050 },
51 {
52 q_title: 'Q2:',
53 q_value: '请选择您的密保问题',
54 a_value: '',
55 a_title: 'A2:',
56 isShow: false,
guangchao.xu6cdd45e2021-04-16 17:44:30 +080057 func: function(){}
guangchao.xuc43cf972021-01-18 13:37:55 +080058 },
59 {
60 q_title: 'Q3:',
61 q_value: '请选择您的密保问题',
62 a_value: '',
63 a_title: 'A3:',
64 isShow: false,
guangchao.xu6cdd45e2021-04-16 17:44:30 +080065 func: function(){}
guangchao.xuc43cf972021-01-18 13:37:55 +080066 },
67 ],
68 answers: [{
69 "ssid": "",
70 "answer": ""
71 },
72 {
73 "ssid": "",
74 "answer": ""
75 },
76 {
77 "ssid": "",
78 "answer": ""
79 }
80 ],
81 pass: false
82 }
83 },
84 onLoad(optins) {
85 this.get_list()
86 },
87 methods: {
88 choose_list(e, fun_name) {
89 this.list_select[e].isShow = true
90 this.list_select[e].func = this[fun_name]
91 },
92 get_list() {
93 let that = this
94 that.$u.get('/v1/security/all').then(res => {
95 let list = res.data
96 that.list = list
97 })
98 },
99 confirm0(e) {
100 this.list_select[0].q_value = this.list[e[0]].question
101 this.list_select[0].ssid = this.list[e[0]].ssid
guangchao.xu6cdd45e2021-04-16 17:44:30 +0800102 this.list_select[0].isShow = false
guangchao.xuc43cf972021-01-18 13:37:55 +0800103 },
104 confirm1(e) {
105 this.list_select[1].q_value = this.list[e[0]].question
106 this.list_select[1].ssid = this.list[e[0]].ssid
guangchao.xu6cdd45e2021-04-16 17:44:30 +0800107 this.list_select[1].isShow = false
guangchao.xuc43cf972021-01-18 13:37:55 +0800108 },
109 confirm2(e) {
110 this.list_select[2].q_value = this.list[e[0]].question
111 this.list_select[2].ssid = this.list[e[0]].ssid
guangchao.xu6cdd45e2021-04-16 17:44:30 +0800112 this.list_select[2].isShow = false
guangchao.xuc43cf972021-01-18 13:37:55 +0800113 },
114 submit() {
115 let that = this
116 let list = that.list_select
117 let answer = that.answers
118 list.map((item, index, arr) => {
119 let ssid = item.ssid
120 let length = item.a_value.length
121 answer[index].ssid = ssid
122 answer[index].answer = item.a_value
123 })
124 let str = ''
125 answer.forEach(item => {
126 str = str + item.ssid
127 })
128 for (let i = 0; i < answer.length; i++) {
129 let item = answer[i]
130 let ssid = item.ssid
131 if (!ssid) {
132 uni.showModal({
133 title: '提示',
134 content: '请选择密保问题',
135 })
136 that.pass = false
137 break;
138 } else {
139 that.pass = true
140 }
141 let reg = new RegExp(item.ssid, "g")
142 let length = str.match(reg).length
143 if (length >= 2) {
144 uni.showModal({
145 title: '提示',
146 content: '请选择不同的密保问题',
147 })
148 that.pass = false
149 break;
150 } else {
151 that.pass = true
152 }
153
154 let value_length = item.answer.length
155 if (value_length < 2) {
156 uni.showModal({
157 title: '提示',
158 content: '未填写问题或问题答案长度小于2个字符',
159 })
160 that.pass = false
161 break;
162 } else {
163 that.pass = true
164 }
165 }
166 if (!that.pass) return
167 let param = {
168 answers: answer
169 }
170 that.$u.post('/v1/security/save', param).then(res => {
171 uni.showToast({
172 title: "保存成功",
173 icon: 'none',
174 complete(res) {
175 setTimeout(() => {
176 uni.navigateBack({
177 delta: 1
178 })
179 }, 1500)
180 }
181 })
182 })
183 }
184 }
185 }
186</script>
187
188<style scoped lang="scss">
189 .setQuestion {
190 margin-top: 30rpx;
191
192 &-container {
193 background-color: #FFFFFF;
194 }
195
196 &-item {
197 margin-bottom: 30rpx;
198 }
199 }
200</style>