fuliqi
2024-09-06 14098d7bb1dd580efb9b9c9b8fae7ca978ffbc57
src/views/system/contract/contract/index.vue
@@ -31,24 +31,24 @@
          plain
          icon="el-icon-plus"
          size="mini"
          v-hasPermi="['system:contract:import']"
          v-hasPermi="['system:contract:add']"
          @click="handleImport"
          >新增</el-button
        >
      </el-col>
    </el-row>
    <el-row v-loading="loading" :gutter="20">
    <el-row v-if="contractList && contractList.length > 0" v-loading="loading" :gutter="20">
      <el-col
        :span="8"
        :span="6"
        v-for="(item, index) in contractList"
        :key="index"
        style="margin-bottom: 10px"
      >
        <el-card :body-style="{ padding: '0px' }">
          <ImagePreview
          <el-image
            style="width: 100%; height: 187px"
            fit="cover"
            :src="item.attachment"
            :src="require('../../../../assets/images/ht.jpg')"
            class="image"
          />
          <div style="padding: 14px">
@@ -68,6 +68,7 @@
        </el-card>
      </el-col>
    </el-row>
    <el-empty v-else description="暂无数据"></el-empty>
    <!-- 合同详情 -->
    <el-dialog
@@ -79,33 +80,22 @@
      <el-form label-position="left" inline class="table-expand">
        <el-collapse v-model="activeNames">
          <el-collapse-item
            v-for="(item, index) in ruleData"
            v-for="(name, index) in ruleName"
            :key="index"
            :title="item.ruleName"
            :name="index"
            :title="name"
          >
            <div
              class="inline-input-container"
              v-for="(item, index) in item.children"
              v-for="(item, index) in ruleData"
              :key="index"
            >
              <b>{{ item.ruleDesc }}</b> <br v-if="item.ruleDesc" />
              <el-tooltip
                class="item"
                v-for="(item, index) in item.children"
                :key="index"
                effect="dark"
                :content="
                  item.deductCategory == '分数乘以数量'
                    ? '扣' + item.calcFraction + '分*数量 '
                    : item.deductCategory == '除以数量后乘以分数'
                    ? '扣' + item.calcFraction + '分/' + item.calcUnit + '小时'
                    : '扣' + item.calcFraction + '分'
                "
                placement="top"
              >
                <span>{{ item.ruleCondition }}<br /></span>
                <!-- {{ item.deductCategory }} {{ item.calcFraction }}{{ item.calcUnit ? "/" + item.calcUnit : ''  }} -->
              <el-tooltip :content="
                item.deductCategory == '分数乘以数量'
                ? '扣' + item.calcFraction + '分*数量 '
                : item.deductCategory == '除以数量后乘以分数'
                ? '扣' + item.calcFraction + '分/' + item.calcUnit + '小时'
                : '扣' + item.calcFraction + '分'">
                <b v-if="item.ruleName === name">{{ item.ruleCondition }}<br /></b>
              </el-tooltip>
            </div>
          </el-collapse-item>
@@ -126,6 +116,7 @@
                  </el-tooltip>
                </div>
              </span>
              <el-empty v-if="moneyRules.length == 0" :image-size="100" />
            </div>
          </el-collapse-item>
          <el-form-item label="合同附件" prop="attachment" class="top">
@@ -352,6 +343,7 @@
      // 是否显示详情
      detail: false,
      ruleData: [],
      ruleName: [],
      moneyRules: [],
      // 表单参数
      form: {},
@@ -484,6 +476,13 @@
    getRuleList(item) {
      getRuleListByContractId(item.id).then((response) => {
        this.ruleData = response.data;
        if (this.ruleData) {
          this.ruleName = this.ruleData.map((item) => {
            return item.ruleName;
          });
          this.ruleName = [...new Set(this.ruleName)];
          console.log('this.ruleName', this.ruleName);
        }
        this.form.id = item.id;
        this.contractInfo = item;
      });