From ddbaeba90e85377323efc009ef1b5915c7535ddd Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Wed, 31 Jan 2024 16:13:04 +0800
Subject: [PATCH] 公司管理页面答题区域修改

---
 src/views/property/components/propertyEdit.vue |  553 +++++++++++++++++++++++++++---------------------------
 src/views/property/companyManage.vue           |   36 ++-
 2 files changed, 301 insertions(+), 288 deletions(-)

diff --git a/src/views/property/companyManage.vue b/src/views/property/companyManage.vue
index e7271f5..a08767c 100644
--- a/src/views/property/companyManage.vue
+++ b/src/views/property/companyManage.vue
@@ -14,20 +14,20 @@
                 <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane>
                 <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane>
             </el-tabs>
-            <div v-if="activeName != 'first'">
-                <div v-for="(item, index) in questionBankData" :key="index">
-                    <div>
+            <div class="answer">
+                <div class="topic-item" v-for="(item, index) in questionBankData" :key="index">
+                    <div class="topic-title">
                         {{ index + 1 }} .{{ item.subjectName }}
                     </div>
 
-                    <div v-if="item.choicesType == 0">
-                        <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
-                            <el-radio v-model="item1.ids" :label="item1.id">{{ item1.optionName }}</el-radio>
-                        </div>
+                    <div class="topic-options" v-if="item.choicesType == 0">
+                        <el-radio-group v-model="item.chooseId">
+                            <el-radio :label="item1.optionName" v-for="(item1, index1) in item.subjectOptionList"
+                                :key="index1"></el-radio>
+                        </el-radio-group>
                     </div>
 
-                    <div v-if="item.choicesType == 3">
-
+                    <div class="topic-options" v-if="item.choicesType == 3">
                         <div v-for="(item1, index1) in item.subjectOptionList" :key="index1" style="display: flex;">
                             <div>{{ item1.optionName }}:</div>
                             <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25"
@@ -222,4 +222,20 @@
 }
 </script>
 
-<style></style>
\ No newline at end of file
+<style lang="scss" scoped>
+:deep(.answer) {
+    .topic-item {
+        margin-bottom: 20px;
+
+        .topic-title {
+            margin-bottom: 10px;
+        }
+
+        .topic-options {
+            .el-radio {
+                margin-bottom: 10px;
+            }
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/property/components/propertyEdit.vue b/src/views/property/components/propertyEdit.vue
index f994763..85e0c4f 100644
--- a/src/views/property/components/propertyEdit.vue
+++ b/src/views/property/components/propertyEdit.vue
@@ -1,315 +1,312 @@
 <template>
+    <el-dialog title="" append-to-body :visible.sync="infoVisible" top="10vh" width="70%" :before-close="handleClose">
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+            <!-- <el-tab-pane label="物业信息" name="first"></el-tab-pane> -->
+            <el-tab-pane label="基础信息" name="info1"></el-tab-pane>
+            <el-tab-pane label="经营信息" name="info2"></el-tab-pane>
+            <el-tab-pane label="纳税信息" name="info3"></el-tab-pane>
+            <el-tab-pane label="党建信息" name="info4"></el-tab-pane>
+            <el-tab-pane label="街道社区" name="info8"></el-tab-pane>
+            <el-tab-pane label="企业良好行为" name="info5"></el-tab-pane>
+            <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane>
+            <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane>
 
-  <el-dialog title="" append-to-body :visible.sync="infoVisible" top="10vh" width="70%" :before-close="handleClose">
-    <el-tabs v-model="activeName" @tab-click="handleClick">
-      <!-- <el-tab-pane label="物业信息" name="first"></el-tab-pane> -->
-      <el-tab-pane label="基础信息" name="info1"></el-tab-pane>
-      <el-tab-pane label="经营信息" name="info2"></el-tab-pane>
-      <el-tab-pane label="纳税信息" name="info3"></el-tab-pane>
-      <el-tab-pane label="党建信息" name="info4"></el-tab-pane>
-      <el-tab-pane label="街道社区" name="info8"></el-tab-pane>
-      <el-tab-pane label="企业良好行为" name="info5"></el-tab-pane>
-      <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane>
-      <el-tab-pane label="违法违规行为惩戒" name="info7"></el-tab-pane>
-
-    </el-tabs>
+        </el-tabs>
 
 
-    <!-- <avue-form :option="option" v-model="first" v-if="activeName == 'first'" @submit="rowSave"></avue-form> -->
+        <!-- <avue-form :option="option" v-model="first" v-if="activeName == 'first'" @submit="rowSave"></avue-form> -->
 
-    <!-- <avue-form :option="option" v-model="second" v-if="activeName == 'second'"></avue-form> -->
-    <div v-if="activeName != 'first'">
-      <div v-for="(item, index) in questionBankData" :key="index">
-        <div>
-          {{index+1}} .{{ item.subjectName }}
-        </div>
-        <!-- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> -->
-        <!-- <div>
+        <!-- <avue-form :option="option" v-model="second" v-if="activeName == 'second'"></avue-form> -->
+        <div v-if="activeName != 'first'">
+            <div v-for="(item, index) in questionBankData" :key="index">
+                <div>
+                    {{ index + 1 }} .{{ item.subjectName }}
+                </div>
+                <!-- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> -->
+                <!-- <div>
             {{ item1.optionName }}
           </div> -->
-        <!-- <el-radio-group v-model="item.ids" v-if="item.choicesType == 0"> -->
+                <!-- <el-radio-group v-model="item.ids" v-if="item.choicesType == 0"> -->
 
-        <div v-if="item.choicesType == 0">
-          <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
-            <el-radio v-model="item1.ids" :label="item1.id">{{item1.optionName}}</el-radio>
-          </div>
+                <div v-if="item.choicesType == 0">
+                    <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
+                        <el-radio v-model="item.chooseId" :label="item1.id">{{ item1.optionName }}</el-radio>
+                    </div>
+                </div>
+
+                <!-- </el-radio-group> -->
+
+                <div v-if="item.choicesType == 3">
+
+                    <div v-for="(item1, index1) in item.subjectOptionList" :key="index1" style="display: flex;">
+                        <div>{{ item1.optionName }}:</div>
+                        <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25"
+                            :label="item1.optionName"></el-input-number>
+                    </div>
+
+                    <!-- <el-input v-model="item1.numbers" type="number" :placeholder="item1.optionName"></el-input> -->
+                </div>
+
+                <!-- </div> -->
+            </div>
+
         </div>
 
-        <!-- </el-radio-group> -->
-
-        <div v-if="item.choicesType == 3">
-
-          <div v-for="(item1, index1) in item.subjectOptionList" :key="index1" style="display: flex;">
-            <div>{{item1.optionName}}:</div>
-            <el-input-number v-model="item1.numbers" @change="handleChange" :min="0" :max="25"
-              :label="item1.optionName"></el-input-number>
-          </div>
-
-          <!-- <el-input v-model="item1.numbers" type="number" :placeholder="item1.optionName"></el-input> -->
+        <div slot="footer" class="dialog-footer">
+            <el-button @click="infoVisible = false">取 消</el-button>
+            <el-button type="primary" @click="submit">提 交</el-button>
         </div>
 
-        <!-- </div> -->
-      </div>
 
-    </div>
-
-    <div slot="footer" class="dialog-footer">
-      <el-button @click="infoVisible = false">取 消</el-button>
-      <el-button type="primary" @click="submit">提 交</el-button>
-    </div>
-
-
-  </el-dialog>
-
+    </el-dialog>
 </template>
 <script>
-  import {
+import {
     getList,
     remove
-  } from "@/api/subjectChoices/subjectChoices";
+} from "@/api/subjectChoices/subjectChoices"
 
-  import {
+import {
     save
-  } from "@/api/answerRecord/answerRecord";
-  import {
+} from "@/api/answerRecord/answerRecord"
+import {
     add
-  } from "@/api/property/propertyCompany"
-  import {
+} from "@/api/property/propertyCompany"
+import {
     mapGetters
-  } from "vuex"
-  export default {
-    data() {
-      return {
-        property: {},
-        activeName: 'info1',
-        infoVisible: false,
-        page: {
-          pageSize: 20,
-          currentPage: 1,
-        },
-        questionBankData: [],
-        query: {},
-        option: {
-          labelWidth: 120,
-          searchLabelWidth: 96,
-          searchShow: true,
-          searchMenuSpan: 3,
-          menuWidth: 280,
+} from "vuex"
+export default {
+    data () {
+        return {
+            property: {},
+            activeName: 'info1',
+            infoVisible: false,
+            page: {
+                pageSize: 20,
+                currentPage: 1,
+            },
+            questionBankData: [],
+            query: {},
+            option: {
+                labelWidth: 120,
+                searchLabelWidth: 96,
+                searchShow: true,
+                searchMenuSpan: 3,
+                menuWidth: 280,
 
-          height: "auto",
-          calcHeight: 54,
-          dialogWidth: 1150,
-          tip: false,
-          border: true,
-          //stripe:true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-          column: [{
-              overHidden: true,
-              label: "物业公司名称",
-              prop: "name",
-              searchSpan: 5,
-              searchLabelWidth: 124,
-              search: true,
-              span: 18,
-              row: true,
-              width: 260,
-              rules: [{
-                required: true,
-                message: "请输入物业公司名称",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              label: '省份',
-              prop: 'province',
-              type: 'select',
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              hide: true,
-              span: 6,
-              cascader: ['city'],
-              dicUrl: `/api/blade-system/region/select`,
-              rules: [{
-                required: true,
-                message: '请选择省份',
-                trigger: 'blur'
-              }]
-            },
-            {
-              label: '城市',
-              prop: 'city',
-              type: 'select',
-              span: 6,
-              labelWidth: 60,
-              cascader: ['area'],
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              hide: true,
-              dicUrl: `/api/blade-system/region/select?code={{key}}`,
-              rules: [{
-                required: true,
-                message: '请选择城市',
-                trigger: 'blur'
-              }]
-            },
-            {
-              label: '地区',
-              prop: 'area',
-              type: 'select',
-              span: 6,
-              labelWidth: 60,
-              props: {
-                label: 'name',
-                value: 'code'
-              },
-              hide: true,
-              dicUrl: `/api/blade-system/region/select?code={{key}}`,
-              rules: [{
-                required: true,
-                message: '请选择地区',
-                trigger: 'blur'
-              }]
-            },
-            {
-              overHidden: true,
-              label: "地址",
-              prop: "address",
-              span: 18,
-              row: true,
-            },
-            {
-              label: "社会信用代码",
-              prop: "socialCreditCode",
-            },
-
-            {
-              label: "简介",
-              prop: "remark",
-              component: "AvueUeditor",
-              options: {
-                action: "/api/blade-resource/oss/endpoint/put-file-attach",
-                props: {
-                  res: "data",
-                  url: "link",
+                height: "auto",
+                calcHeight: 54,
+                dialogWidth: 1150,
+                tip: false,
+                border: true,
+                //stripe:true,
+                index: true,
+                viewBtn: true,
+                selection: true,
+                dialogClickModal: false,
+                column: [{
+                    overHidden: true,
+                    label: "物业公司名称",
+                    prop: "name",
+                    searchSpan: 5,
+                    searchLabelWidth: 124,
+                    search: true,
+                    span: 18,
+                    row: true,
+                    width: 260,
+                    rules: [{
+                        required: true,
+                        message: "请输入物业公司名称",
+                        trigger: "blur",
+                    },],
                 },
-              },
-              hide: true,
-              minRows: 6,
-              span: 24,
+                {
+                    label: '省份',
+                    prop: 'province',
+                    type: 'select',
+                    props: {
+                        label: 'name',
+                        value: 'code'
+                    },
+                    hide: true,
+                    span: 6,
+                    cascader: ['city'],
+                    dicUrl: `/api/blade-system/region/select`,
+                    rules: [{
+                        required: true,
+                        message: '请选择省份',
+                        trigger: 'blur'
+                    }]
+                },
+                {
+                    label: '城市',
+                    prop: 'city',
+                    type: 'select',
+                    span: 6,
+                    labelWidth: 60,
+                    cascader: ['area'],
+                    props: {
+                        label: 'name',
+                        value: 'code'
+                    },
+                    hide: true,
+                    dicUrl: `/api/blade-system/region/select?code={{key}}`,
+                    rules: [{
+                        required: true,
+                        message: '请选择城市',
+                        trigger: 'blur'
+                    }]
+                },
+                {
+                    label: '地区',
+                    prop: 'area',
+                    type: 'select',
+                    span: 6,
+                    labelWidth: 60,
+                    props: {
+                        label: 'name',
+                        value: 'code'
+                    },
+                    hide: true,
+                    dicUrl: `/api/blade-system/region/select?code={{key}}`,
+                    rules: [{
+                        required: true,
+                        message: '请选择地区',
+                        trigger: 'blur'
+                    }]
+                },
+                {
+                    overHidden: true,
+                    label: "地址",
+                    prop: "address",
+                    span: 18,
+                    row: true,
+                },
+                {
+                    label: "社会信用代码",
+                    prop: "socialCreditCode",
+                },
+
+                {
+                    label: "简介",
+                    prop: "remark",
+                    component: "AvueUeditor",
+                    options: {
+                        action: "/api/blade-resource/oss/endpoint/put-file-attach",
+                        props: {
+                            res: "data",
+                            url: "link",
+                        },
+                    },
+                    hide: true,
+                    minRows: 6,
+                    span: 24,
+                },
+                ],
             },
-          ],
-        },
-      };
+        }
     },
     computed: {
-      ...mapGetters(["permission", "userInfo"]),
+        ...mapGetters(["permission", "userInfo"]),
     },
     methods: {
 
-      handleClose() {
-        this.infoVisible = false
-        // this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
-      },
+        handleClose () {
+            this.infoVisible = false
+            // this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
+        },
 
-      submit() {
-        console.log("============>", this.questionBankData)
-        save(this.questionBankData).then(
-          () => {
-            // this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
+        submit () {
+            console.log("============>", this.questionBankData)
+            save(this.questionBankData).then(
+                () => {
+                    // this.onLoad(this.page)
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    })
+                    done()
+                },
+                (error) => {
+                    window.console.log(error)
+                    loading()
+                }
+            )
+        },
+        handleChange (value) {
+            console.log(value)
+        },
+
+        rowSave (form, done) {
+            console.log('==========>', JSON.stringify(form))
+            form.userid = this.userInfo.user_id
+            add(form).then(
+                () => {
+                    // this.onLoad(this.page)
+                    this.$message({
+                        type: "success",
+                        message: "操作成功!",
+                    })
+                    done()
+                },
+                (error) => {
+                    window.console.log(error)
+                    loading()
+                }
+            )
+        },
+
+        questionBankOnLoad (page, params = {}) {
+            // params = {}
+            // this.questionBankLoading = false;
+            getList(
+                page.currentPage,
+                page.pageSize,
+                Object.assign(params, this.query)
+            ).then(res => {
+                const data = res.data.data
+                this.page.total = data.total
+                this.questionBankData = data.records
+                this.questionBankData.forEach(item => {
+                    item.propertyId = this.property.id
+                })
             })
-            done()
-          },
-          (error) => {
-            window.console.log(error)
-            loading()
-          }
-        )
-      },
-      handleChange(value) {
-        console.log(value);
-      },
+        },
 
-      rowSave(form, done) {
-        console.log('==========>', JSON.stringify(form))
-        form.userid = this.userInfo.user_id
-        add(form).then(
-          () => {
-            // this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
-            })
-            done()
-          },
-          (error) => {
-            window.console.log(error)
-            loading()
-          }
-        )
-      },
+        init (row) {
+            this.infoVisible = true
+            let param = {
+                subclassName: '基础信息'
+            }
+            this.property = row
+            this.questionBankOnLoad(this.page, param)
+        },
 
-      questionBankOnLoad(page, params = {}) {
-        // params = {}
-        // this.questionBankLoading = false;
-        getList(
-          page.currentPage,
-          page.pageSize,
-          Object.assign(params, this.query)
-        ).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.questionBankData = data.records;
-          this.questionBankData.forEach(item => {
-            item.propertyId = this.property.id
-          })
-        });
-      },
-
-      init(row) {
-        this.infoVisible = true
-        let param = {
-          subclassName: '基础信息'
+        handleClick (tab, event) {
+            // this.$confirm("确定将选择数据删除?", {
+            //     confirmButtonText: "确定",
+            //     cancelButtonText: "取消",
+            //     type: "warning",
+            //   })
+            //   .then(() => {
+            //     return remove(row.id)
+            //   })
+            //   .then(() => {
+            //     this.onLoad(this.page)
+            //     this.$message({
+            //       type: "success",
+            //       message: "操作成功!",
+            //     })
+            //   })
+            // console.log(tab, event);
+            console.log('============>', JSON.stringify(this.questionBankData))
+            let param = {
+                subclassName: tab.label
+            }
+            this.questionBankOnLoad(this.page, param)
         }
-        this.property = row
-        this.questionBankOnLoad(this.page, param)
-      },
-
-      handleClick(tab, event) {
-        // this.$confirm("确定将选择数据删除?", {
-        //     confirmButtonText: "确定",
-        //     cancelButtonText: "取消",
-        //     type: "warning",
-        //   })
-        //   .then(() => {
-        //     return remove(row.id)
-        //   })
-        //   .then(() => {
-        //     this.onLoad(this.page)
-        //     this.$message({
-        //       type: "success",
-        //       message: "操作成功!",
-        //     })
-        //   })
-        // console.log(tab, event);
-        console.log('============>', JSON.stringify(this.questionBankData))
-        let param = {
-          subclassName: tab.label
-        }
-        this.questionBankOnLoad(this.page, param)
-      }
     }
-  };
+}
 </script>
 
-<style>
-</style>
+<style></style>

--
Gitblit v1.9.3