lin
2024-03-22 ebfc739bdbbc0dd0fccd0bf47b7d2d5397c3c511
src/views/property/components/propertyEdit.vue
@@ -1,15 +1,15 @@
<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="info5"></el-tab-pane>
      <el-tab-pane label="项目良好行为" name="info6"></el-tab-pane>
      <el-tab-pane label="违法违规行为惩戒" name="info7"></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>
@@ -17,36 +17,26 @@
    <!-- <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>
            {{ item1.optionName }}
          </div> -->
        <!-- <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}}-----------{{item1.score}}</el-radio>
          </div>
    <div class="answer" v-show="activeName != 'info0'">
      <div class="topic-item" v-for="(item, index) in questionBankData" :key="index">
        <div class="topic-title">
          {{ index + 1 }} .{{ item.subjectName }}
        </div>
        <!-- </el-radio-group> -->
        <div class="topic-options" v-if="item.choicesType == 0">
          <el-radio-group v-model="item.chooseId" @input="inputs()">
            <el-radio :label="item1.id" v-for="(item1, index1) in item.subjectOptionList" :key="index1">{{
                              item1.optionName }}</el-radio>
          </el-radio-group>
        </div>
        <div v-if="item.choicesType == 3">
          <!-- <div>{{item1.optionName}}</div> -->
          <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
        <div class="topic-options" v-if="item.choicesType == 3">
          <div class="input-num-item" v-for="(item1, index1) in item.subjectOptionList" :key="index1">
            <div class="num-name">{{ 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>
@@ -58,17 +48,16 @@
  </el-dialog>
</template>
<script>
  import {
    getList,
    remove
  } from "@/api/subjectChoices/subjectChoices";
  } from "@/api/subjectChoices/subjectChoices"
  import {
    save
  } from "@/api/answerRecord/answerRecord";
  } from "@/api/answerRecord/answerRecord"
  import {
    add
  } from "@/api/property/propertyCompany"
@@ -204,7 +193,7 @@
            },
          ],
        },
      };
      }
    },
    computed: {
      ...mapGetters(["permission", "userInfo"]),
@@ -215,9 +204,18 @@
        this.infoVisible = false
        // this.$refs.DisCussFrom && this.$refs.DisCussFrom.resetForm()
      },
      inputs(label) {
        console.table(label)
      },
      submit() {
        console.log("============>", this.questionBankData)
        let isChoose = false
        this.questionBankData.forEach(item => {
          if (item.chooseId) {
            isChoose = true
          }
        })
        if (isChoose == false) return
        save(this.questionBankData).then(
          () => {
            // this.onLoad(this.page)
@@ -234,7 +232,7 @@
        )
      },
      handleChange(value) {
        console.log(value);
        console.log(value)
      },
      rowSave(form, done) {
@@ -264,19 +262,20 @@
          page.pageSize,
          Object.assign(params, this.query)
        ).then(res => {
          const data = res.data.data;
          this.page.total = data.total;
          this.questionBankData = data.records;
          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: '基础信息'
          subclassName: '街道社区',
          propertyId: row.id
        }
        this.property = row
        this.questionBankOnLoad(this.page, param)
@@ -306,8 +305,41 @@
        this.questionBankOnLoad(this.page, param)
      }
    }
  };
  }
</script>
<style>
<style lang="scss" scoped>
  :deep(.answer) {
    height: calc(100% - 60px);
    overflow-y: scroll;
    .topic-item {
      margin-bottom: 20px;
      .topic-title {
        margin-bottom: 10px;
        font-size: 14px;
      }
      .topic-options {
        display: flex;
        .el-radio {
          margin-bottom: 10px;
        }
        .input-num-item {
          display: flex;
          margin-right: 20px;
          .num-name {
            display: flex;
            align-items: center;
            margin-right: 6px;
            font-size: 14px;
          }
        }
      }
    }
  }
</style>