Lou
2024-01-18 6ad9528f48ad50d6a73a32f967fdf88b0e6b025a
src/views/property/components/propertyEdit.vue
@@ -1,34 +1,59 @@
<template>
  <el-dialog title="" append-to-body :visible.sync="infoVisible" top="10vh" width="70%">
  <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="second"></el-tab-pane>
      <el-tab-pane label="良好行为信息" name="third"></el-tab-pane>
      <el-tab-pane label="不良行为信息" name="fourth"></el-tab-pane>
      <!-- <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-tabs>
    <avue-form :option="option" v-model="first" v-if="activeName == 'first'"></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>
    <div v-if="activeName != 'first'">
      <div v-for="(item, index) in questionBankData" :key="index">
        <div>
          {{ item.subjectName }}
          {{index+1}} .{{ item.subjectName }}
        </div>
        <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
          <!-- <div>
        <!-- <div v-for="(item1, index1) in item.subjectOptionList" :key="index1"> -->
        <!-- <div>
            {{ item1.optionName }}
          </div> -->
          <el-radio-group>
            <el-radio :label="item1.id">{{item1.optionName}}</el-radio>
          </el-radio-group>
        <!-- <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>
        <!-- </el-radio-group> -->
        <div v-if="item.choicesType == 3">
          <!-- <div>{{item1.optionName}}</div> -->
          <div v-for="(item1, index1) in item.subjectOptionList" :key="index1">
            <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>
    <div slot="footer" class="dialog-footer">
      <el-button @click="infoVisible = false">取 消</el-button>
      <el-button type="primary" @click="submit">提 交</el-button>
    </div>
@@ -40,10 +65,21 @@
    getList,
    remove
  } from "@/api/subjectChoices/subjectChoices";
  import {
    save
  } from "@/api/answerRecord/answerRecord";
  import {
    add
  } from "@/api/property/propertyCompany"
  import {
    mapGetters
  } from "vuex"
  export default {
    data() {
      return {
        activeName: 'first',
        property: {},
        activeName: 'info1',
        infoVisible: false,
        page: {
          pageSize: 20,
@@ -170,7 +206,55 @@
        },
      };
    },
    computed: {
      ...mapGetters(["permission", "userInfo"]),
    },
    methods: {
      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: "操作成功!",
            })
            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 = {}
@@ -183,18 +267,41 @@
          const data = res.data.data;
          this.page.total = data.total;
          this.questionBankData = data.records;
          // this.questionBankLoading = false;
          this.questionBankData.forEach(item => {
            item.propertyId = this.property.id
          })
        });
      },
      init(row) {
        this.infoVisible = true
        let param = {
          subclassName: '基础信息'
        }
        this.property = row
        this.questionBankOnLoad(this.page, param)
      },
      handleClick(tab, event) {
        console.log(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 = {
          categoryName: tab.label
          subclassName: tab.label
        }
        this.questionBankOnLoad(this.page, param)
      }