k94314517
2024-10-16 17efddc6a667670dca682bf36b51a43e99615e6d
admin/src/views/business/approvalConfiguration.vue
@@ -30,18 +30,57 @@
              >
                <div class="head">{{ item.remark }}</div>
                <div class="content">
                  <div v-if="item.objIds && item.objIds.length === 1 ">
                    <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}</span>
                    <span v-if="item.approveType == 0"> 或签</span>
                    <span v-if="item.approveType == 1"> 会签</span>
                  </div>
                  <div v-else-if="item.objIds && item.objIds.length > 1">
                    <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}等</span>
                    <span v-if="item.approveType == 0"> 或签</span>
                    <span v-if="item.approveType == 1"> 会签</span>
                  </div>
                  <div v-else>请选择</div>
                  <i class="el-icon-arrow-right"></i>
                  <!-- 审批 -->
                  <template v-if="item.type == 0">
                    <template v-if="item.memberType == '0'">
                    <div>被访人</div>
                  </template>
                    <template v-if="item.memberType == '2'">
                      <div>部门主管</div>
                    </template>
                    <template v-if="item.memberType == '1'">
                      <div v-if="item.objIds && item.objIds.length === 1">
                        <span
                          >{{ item.objIds[0].name }}
                          {{ item.objIds[0].companyName }}</span
                        >
                        <span v-if="item.approveType == 0 && item.type == '0'">
                          或签</span
                        >
                        <span v-if="item.approveType == 1 && item.type == '0'">
                          会签</span
                        >
                      </div>
                      <div v-else-if="item.objIds && item.objIds.length > 1">
                        <span>{{ item.objIds[0].name }} 等</span>
                        <span v-if="item.approveType == 0 && item.type == '0'">
                          或签</span
                        >
                        <span v-if="item.approveType == 1 && item.type == '0'">
                          会签</span
                        >
                      </div>
                      <div v-else>请选择</div>
                      <i class="el-icon-arrow-right"></i>
                    </template>
                  </template>
                  <!-- 抄送 -->
                  <template v-if="item.type == 1">
                    <div v-if="item.objIds && item.objIds.length === 1">
                        <span
                          >{{ item.objIds[0].name }}
                          {{ item.objIds[0].companyName }}</span
                        >
                      </div>
                      <div v-else-if="item.objIds && item.objIds.length > 1">
                        <span>{{ item.objIds[0].name }} 等</span>
                      </div>
                      <div v-else>请选择</div>
                    <i
                      v-if="item.memberType == '1'"
                      class="el-icon-arrow-right"
                    ></i>
                  </template>
                </div>
              </div>
              <div class="arrows">
@@ -72,12 +111,12 @@
            <template v-if="apprList[activeIndex].type == '1'">
              <div class="config_data_item_reviewed_content">
                <div
                  v-for="mem in apprList[activeIndex].objIds"
                  v-for="mem, memIndex in apprList[activeIndex].objIds"
                  :key="mem.id"
                  class="config_data_item_reviewed_content_item"
                >
                  <span>{{ mem.name }}</span>
                  <i class="el-icon-close"></i>
                  <i @click="memDel(memIndex)" class="el-icon-close"></i>
                </div>
                <span class="add" @click="selStaff">+添加</span>
              </div>
@@ -120,7 +159,7 @@
              <div class="config_data_item_reviewed_r">
                <span>被访人的</span>
                <el-select
                  v-model="apprList[activeIndex].level"
                  v-model="apprList[activeIndex].objLevel"
                  placeholder="请选择"
                  style="margin: 0 20px 0 10px"
                >
@@ -163,6 +202,7 @@
          <div class="config_data_submit">
            <el-button
              @click="onSubmit"
              :loading="subLoading"
              style="background: #435ebe"
              type="primary"
              >保存配置项</el-button
@@ -243,6 +283,7 @@
  data () {
    return {
      activeType: '0',
      subLoading: false,
      apprList: [
        { remark: '审批人', active: false, type: '0', objIds: [] },
        { remark: '抄送人', active: false, type: '1', objIds: [] }
@@ -275,9 +316,10 @@
      this.apprList.forEach((item, index) => {
        if (i === index) {
          item.active = true
          console.log("====================",item.objIds)
          if (item.objIds && item.objIds.length > 0) {
            const objIds = item.objIds.map(i => {
              return i.id + '-' + i.name
              return `${i.id}-${i.name}${i.companyName ? '-' + i.companyName : ''}`
            })
            this.$set(this.searchForm, 'objIds', objIds)
          } else {
@@ -298,18 +340,21 @@
              item.objIds = item.memberList.map(i => {
                return {
                  id: i.id,
                  name: i.name
                  name: i.name,
                  companyName: i.companyName
                }
              })
            }else{
              item.objIds = []
            }
          })
          this.apprList = arr
          this.flowClick(0)
          this.$forceUpdate()
        }
        // console.log(res);
      })
      this.flowClick(0)
      this.$forceUpdate()
    },
    onSubmit () {
      const { apprList, activeType } = this
@@ -318,15 +363,19 @@
        item.level = index + 1
        if (item.objIds && item.objIds.length > 0) {
          item.objIds = item.objIds.map(i => i.id).join(',')
        } else {
          item.objIds = ''
        }
      })
      this.subLoading = true
      approveTemplSave({
        type: activeType,
        paramList: temp
      }).then(res => {
        // if (res.code === 200) {
        this.$message.success('保存成功')
        // }
        this.subLoading = false
        this.$tip.success('保存成功')
      }, () => {
        this.subLoading = false
      })
    },
    handleDel () {
@@ -335,7 +384,7 @@
      this.activeIndex = 0
    },
    handleAddAppr () {
      this.apprList.splice(this.apprList.length - 1, 0, { remark: '审批人', active: false, type: 0, objIds: [] })
      this.apprList.splice(this.apprList.length - 1, 0, { remark: '审批人',approveType: 0, active: false, type: 0, objIds: [] })
      // this.apprList.push({ remark: '审批人', active: false, type: '0' })
    },
@@ -637,9 +686,18 @@
  }
  .transfer {
    height: 600px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    ::v-deep .el-transfer-panel{
      flex: 1;
      height: 100%;
    }
    ::v-deep .el-transfer-panel__body {
      height: 500px;
    }
    ::v-deep .el-transfer-panel__list.is-filterable {
      height: 480px;
    }