spyj.vue 5.84 KB
<!--
 * @Description: 审批意见
 * @Autor: renchao
 * @LastEditTime: 2023-05-17 10:41:24
-->
<template>
  <div class="spyj loadingtext">
    <div class="box">
      <b class="spyj_title">审批表</b>
      <div v-for="(item, index) in tableData" :key="index">
      <el-form :model="tableData[index]" label-width="120px" :rules="rules" :ref="'ruleFormRef'+index">
        <div class="spyj_form" >
          <div class="item_left">{{ item.jdmc }}意见</div>
          <div class="item_right">
            <el-row>
              <el-col :span="24">
                <el-form-item
                  label-width="0"
                  class="opinion_item"
                  prop="shyj"
                >
                  <el-input
                    type="textarea"
                    :rows="4"
                    class="opinion"
                    placeholder="请输入审批意见"
                    v-model="item.shyj"
                  ></el-input>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="16">
                <el-form-item
                  label="审查人"
                  prop="shryxm"
                >
                  <el-input v-model="item.shryxm"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item
                  label="审核时间"
                  prop="shsj"
                >
                  <el-date-picker
                    v-model="item.shsj"
                    type="date"
                    placeholder="选择日期"
                    value-format="yyyy/MM/dd HH:mm:ss"
                    format="yyyy/MM/dd"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
          </div>
        </div>
      </el-form>
      </div>
       <div class="submit_button" v-if="!$route.query.viewtype">
          <el-button type="primary" @click="onSubmit('ruleFormRef')">保存</el-button>
        </div>
    </div>
    <!-- <el-empty v-if="isNoData" description="暂无数据"></el-empty> -->
  </div>
</template>
<script>
import { addidea } from "@/api/djbbl.js";
import { mapGetters } from "vuex";
export default {
  computed: {
    ...mapGetters(["userData", "yjsqOptions"]),
  },
  data() {
    return {
      isNoData: false,
      ableOperation: true,

        tableData: [{ jdmc: "初审" }, { jdmc: "复审" }, { jdmc: "核定" }],

      rules: {
        shyj: [{ required: true, message: "请填写意见", trigger: "blur" }],
        shryxm: [{ required: true, message: "审查人", trigger: "blur" }],
        shsj: [{ required: true, message: "审核时间", trigger: "blur" }],
      },
    };
  },

  watch: {},
  created() {},
  mounted() {},
  methods: {
    onSubmit(formName) {
      const falg = []
      for (let index = 0; index < this.tableData.length; index++) {
        this.$refs[formName + index][0].validate((valid) => {
          if (valid) {
            falg.push(1)
          }
        });
      }
      if (falg.length == this.tableData.length) {
          this.tableData.forEach((item, index) => {
            item["bsmBusiness"] = this.$parent.bsmRepair;
          }),
           addidea(this.tableData).then((res) => {
              if (res.code === 200) {
                this.$message.success("保存成功");
                this.refresh += 1;
              } else {
                this.$message.error(res.message);
              }
            });
      } else {
         return false;
      }
    },
    // onSubmit() {
    //   this.$refs.tablelist[index].validate((valid) => {
    //     if (valid) {
    //       this.tableData.forEach((item, index) => {
    //         item["bsmBusiness"] = this.$parent.bsmRepair;
    //       }),
    //         addidea(this.tableData).then((res) => {
    //           if (res.code === 200) {
    //             this.$message.success("保存成功");
    //             this.refresh += 1;
    //           } else {
    //             this.$message.error(res.message);
    //           }
    //         });
    //     }
    //   });
    // },
  },
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";

.spyj {
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  padding: 5px;
  .box {
    overflow-x: auto;
    width: 100%;
    height: 95%;
    background: #fff;
    text-align: center;
    padding: 4px;
    overflow-y: scroll;
    padding-top: 20px;
    padding: 20px 40px;
  }
  .spyj_title {
    line-height: 68px;
    border: 1px solid $borderColor;
    text-align: center;
    font-size: 22px;
    font-weight: 400;
    background-color: #eceef2;
    display: block;
    border-bottom: none;
  }

  /deep/.el-form-item {
    margin-bottom: 0;
  }

  .bottom10 {
    margin-bottom: 15px;
  }

  .spyj_form {
    display: flex;
    border: 1px solid $borderColor;

    .item_left {
      width: 150px;
      background-color: #f8f8fa;
      color: #606266;
      display: flex;
      font-size: 14px;
      text-indent: 80px;
      align-items: center;
      border-right: 1px solid $borderColor;
    }

    .item_right {
      flex: 1;
      width: 100%;

      /deep/.el-form-item__label {
        background-color: #f8f8fa;
      }
      /deep/.el-form-item__content {
        display: block;
        text-align: left;
        text-indent: 10px;
      }
      .opinion_item {
        /deep/.el-form-item__error {
          margin-top: -16px !important;
          left: 3px;
        }

        border-bottom: 1px solid $borderColor;
      }

      .opinion {
        position: relative;
        font-size: 14px;

        /deep/.el-textarea__inner {
          border: none;
        }
      }

      .opinion_btn {
        position: absolute;
        right: 15px;
        bottom: 10px;
      }
    }
  }

  .submit_button {
    text-align: center;
    margin: 15px 0;
  }
}
</style>