|
@@ -84,6 +84,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+const fields = require('./fields');
|
|
import one from './parts-models/one.vue';
|
|
import one from './parts-models/one.vue';
|
|
import two from './parts-models/two.vue';
|
|
import two from './parts-models/two.vue';
|
|
import thr from './parts-models/thr.vue';
|
|
import thr from './parts-models/thr.vue';
|
|
@@ -92,6 +93,7 @@ import five from './parts-models/five.vue';
|
|
import six from './parts-models/six.vue';
|
|
import six from './parts-models/six.vue';
|
|
import seven from './parts-models/seven.vue';
|
|
import seven from './parts-models/seven.vue';
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
|
+const { mapActions: answer } = createNamespacedHelpers('answer');
|
|
export default {
|
|
export default {
|
|
name: 'questionnaire-models',
|
|
name: 'questionnaire-models',
|
|
props: {
|
|
props: {
|
|
@@ -118,13 +120,47 @@ export default {
|
|
},
|
|
},
|
|
created() {},
|
|
created() {},
|
|
methods: {
|
|
methods: {
|
|
- onSubmit() {
|
|
|
|
|
|
+ ...answer(['create']),
|
|
|
|
+ async onSubmit() {
|
|
let data = this.form;
|
|
let data = this.form;
|
|
- console.log(data);
|
|
|
|
|
|
+ const { company, contacts, phone, ...others } = data;
|
|
|
|
+ const obj = { company, contacts, phone, questionnaire_id: this.id };
|
|
|
|
+ const fields = this.setFields();
|
|
|
|
+ const arr = [];
|
|
|
|
+ const keys = Object.keys(others);
|
|
|
|
+ for (const key of keys) {
|
|
|
|
+ const label = fields[key];
|
|
|
|
+ const answer = others[key];
|
|
|
|
+ arr.push({ label, answer });
|
|
|
|
+ }
|
|
|
|
+ obj.answer = arr;
|
|
|
|
+ const res = await this.create(obj);
|
|
|
|
+ if (this.$checkRes(res, '申请成功', res.errmsg || '申请失败')) {
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ setFields() {
|
|
|
|
+ const fkeys = Object.keys(fields);
|
|
|
|
+ let object = [];
|
|
|
|
+ for (const key of fkeys) {
|
|
|
|
+ const narr = fields[key];
|
|
|
|
+ for (const obj of narr) {
|
|
|
|
+ if (!obj.children) {
|
|
|
|
+ object[obj.model] = obj.label;
|
|
|
|
+ } else {
|
|
|
|
+ for (const child of obj.children) {
|
|
|
|
+ object[child.model] = child.label;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return object;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
- ...mapState(['user']),
|
|
|
|
|
|
+ ...mapState(['fields']),
|
|
|
|
+ id() {
|
|
|
|
+ return this.$route.query.id;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
metaInfo() {
|
|
metaInfo() {
|
|
return { title: this.$route.meta.title };
|
|
return { title: this.$route.meta.title };
|