Commit 2538d488 authored by wei's avatar wei
Browse files

commit

parent d7927ee9
Loading
Loading
Loading
Loading
+40 −43
Original line number Original line Diff line number Diff line
@@ -8,26 +8,11 @@
      <van-tabs v-model="active" @change="tabList" color="#2980f7" animated>
      <van-tabs v-model="active" @change="tabList" color="#2980f7" animated>
        <van-tab :title="buildingName">
        <van-tab :title="buildingName">
          <van-dropdown-menu z-index="1000">
          <van-dropdown-menu z-index="1000">
            <van-dropdown-item
            <van-dropdown-item v-model="value1" @change="changeFloor" :options="option1" get-container="body" />
              v-model="value1"
            <van-dropdown-item v-model="value2" @change="changeRoom" :options="option2" get-container="body" />
              @change="changeFloor"
              :options="option1"
              get-container="body"
            />
            <van-dropdown-item
              v-model="value2"
              @change="changeRoom"
              :options="option2"
              get-container="body"
            />
          </van-dropdown-menu>
          </van-dropdown-menu>
          <div class="con-list">
          <div class="con-list">
            <van-cell-group
            <van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="touchstart(index, item)">
              inset
              v-for="(item, index) in messageList"
              :key="index"
              @click="touchstart(index, item)"
            >
              <div style="font-size: 0.45rem;padding: 5px 0;">
              <div style="font-size: 0.45rem;padding: 5px 0;">
                {{ item.title }}
                {{ item.title }}
              </div>
              </div>
@@ -49,42 +34,33 @@
                    <van-col span="15">{{ item.roomName }}</van-col>
                    <van-col span="15">{{ item.roomName }}</van-col>
                  </van-row>
                  </van-row>
                </van-col>
                </van-col>
                <van-col
                <van-col span="7" :style="{ color: item.state == 1 ? '#0069e5' : '#03b615' }">
                  span="7"
                  :style="{ color: item.state == 1 ? '#0069e5' : '#03b615' }"
                >
                  {{ "●待审批" }}
                  {{ "●待审批" }}
                </van-col>
                </van-col>
              </van-row>
              </van-row>
              <van-overlay :show="showIndex == index">
              <van-overlay :show="showIndex == index">
                <div class="wrapper" @click.stop="showIndex = null">
                <div class="wrapper" @click.stop="showIndex = null">
                  <van-button round type="primary" @click="goDetail(item)"
                  <van-button round type="primary" @click="goDetail(item)">编辑</van-button>
                    >编辑</van-button
                  >
                  <!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
                  <!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
                    >确认</van-button
                    >确认</van-button
                  > -->
                  > -->
                </div>
                </div>
              </van-overlay>
              </van-overlay>
            </van-cell-group>
            </van-cell-group>
            <div
            <div style="
              style="
              width: 100%;
              width: 100%;
              text-align: center;
              text-align: center;
              font-size: 0.48rem;
              font-size: 0.48rem;
              position: fixed;
              position: fixed;
              top: 30%;
              top: 30%;
            "
            " v-if="messageList['length'] == 0">
              v-if="messageList['length'] == 0"
            >
              暂无数据
              暂无数据
            </div>
            </div>
          </div>
          </div>
        </van-tab>
        </van-tab>
      </van-tabs>
      </van-tabs>
    </div>
    </div>
    <div
    <div style="display: flex;
      style="display: flex;
        justify-content: space-around;
        justify-content: space-around;
        background-color: #fff;
        background-color: #fff;
        border-top: 1px solid #e3e3e3;
        border-top: 1px solid #e3e3e3;
@@ -92,19 +68,12 @@
        width: 100%;
        width: 100%;
        text-align: center;
        text-align: center;
        position: fixed;
        position: fixed;
        bottom: 0;"
        bottom: 0;">
    >
      <div @click="performTasks" style="color: #4bced0;font-size: 14px;font-weight: 600;">
      <div
        @click="performTasks"
        style="color: #4bced0;font-size: 14px;font-weight: 600;"
      >
        <div style="font-size: 22px;"><van-icon name="plus" /></div>
        <div style="font-size: 22px;"><van-icon name="plus" /></div>
        <div>新增固有风险</div>
        <div>新增固有风险</div>
      </div>
      </div>
      <div
      <div @click="endTasks" style="color: #D9001B;font-size: 14px;font-weight: 600;">
        @click="endTasks"
        style="color: #D9001B;font-size: 14px;font-weight: 600;"
      >
        <div style="font-size: 22px;"><van-icon name="cross" /></div>
        <div style="font-size: 22px;"><van-icon name="cross" /></div>
        <div>任务执行结束</div>
        <div>任务执行结束</div>
      </div>
      </div>
@@ -113,13 +82,14 @@
</template>
</template>


<script>
<script>
import { Dialog } from 'vant';
import LHeader from "@/components/header.vue";
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
import { getFun, postFun } from "@/service/table.js";
import { timestampToTime, generateId } from "@/utils/format";
import { timestampToTime, generateId } from "@/utils/format";
export default {
export default {
  name: "risk-confirme",
  name: "risk-confirme",
  components: {
  components: {
    LHeader
    LHeader,
  },
  },
  data() {
  data() {
    return {
    return {
@@ -177,6 +147,19 @@ export default {
    //任务执行结束
    //任务执行结束
    endTasks() {
    endTasks() {
      //toDo
      //toDo
      postFun(
        `/risk/plan/submit/${this.planId}/${this.buildingId}`
      ).then(res => {
        console.log(res.msg,'lllll')
        Dialog.alert({
          title: '任务执行结束',
          message: res.msg,
        }).then(() => {
          this.$router.push({
            name:'riskAssess'
          })
        });
      })
    },
    },
    handadd() {
    handadd() {
      this.$router.push({
      this.$router.push({
@@ -300,9 +283,11 @@ export default {
  font-family: "";
  font-family: "";
  color: #2c3e50;
  color: #2c3e50;
}
}

.cell-wrap {
.cell-wrap {
  position: relative;
  position: relative;
}
}

p {
p {
  font-size: 0.4rem;
  font-size: 0.4rem;
  font-weight: none;
  font-weight: none;
@@ -310,31 +295,38 @@ p {
  margin: 0.186667rem 0;
  margin: 0.186667rem 0;
  color: #7f7f7f;
  color: #7f7f7f;
}
}

.van-cell-group--inset {
.van-cell-group--inset {
  margin: 0;
  margin: 0;
  margin-bottom: 10px;
  margin-bottom: 10px;
  padding: 10px;
  padding: 10px;
  font-size: 13px;
  font-size: 13px;
  position: relative;
  position: relative;

  .van-row {
  .van-row {
    margin-bottom: 0.133333rem;
    margin-bottom: 0.133333rem;
    line-height: 0.64rem;
    line-height: 0.64rem;
  }
  }
}
}

.journal-wrap {
.journal-wrap {
  position: relative;
  position: relative;
}
}

.supervise-wrap {
.supervise-wrap {
  position: relative;
  position: relative;
}
}

.info-title {
.info-title {
  color: #2980f7;
  color: #2980f7;
  font-weight: none;
  font-weight: none;
}
}

.field-title {
.field-title {
  color: black;
  color: black;
  font-weight: none;
  font-weight: none;
}
}

.more {
.more {
  position: absolute;
  position: absolute;
  bottom: 0.32rem;
  bottom: 0.32rem;
@@ -343,10 +335,12 @@ p {
  font-weight: none;
  font-weight: none;
  z-index: 99;
  z-index: 99;
}
}

.con-list {
.con-list {
  padding: 0;
  padding: 0;
  min-height: 10rem;
  min-height: 10rem;
  background-color: #f0f1f5;
  background-color: #f0f1f5;

  .van-cell-group--inset {
  .van-cell-group--inset {
    margin: 0;
    margin: 0;
    margin-bottom: 0.26667rem;
    margin-bottom: 0.26667rem;
@@ -357,13 +351,16 @@ p {
    box-shadow: 0px 0px 10px 2px #f3f3f3;
    box-shadow: 0px 0px 10px 2px #f3f3f3;
    width: 90%;
    width: 90%;
    margin: 0.4rem auto;
    margin: 0.4rem auto;

    .van-row {
    .van-row {
      font-size: 0.4rem;
      font-size: 0.4rem;
      line-height: 0.8rem;
      line-height: 0.8rem;
      margin-bottom: 0;
      margin-bottom: 0;
    }
    }

    .van-overlay {
    .van-overlay {
      position: absolute;
      position: absolute;

      .wrapper {
      .wrapper {
        display: flex;
        display: flex;
        align-items: center;
        align-items: center;
+317 −220
Original line number Original line Diff line number Diff line
@@ -4,76 +4,60 @@
    <van-sticky offset-top="0">
    <van-sticky offset-top="0">
      <LHeader :text="text"></LHeader>
      <LHeader :text="text"></LHeader>
    </van-sticky>
    </van-sticky>
      <van-sticky offset-top="1.5rem">
    <van-tabs
        <van-search
          v-model="searchValue"
          show-action
          placeholder="请输入搜索内容"
          @search="onSearch"
        >
          <template #action>
            <div @click="onSearch">搜索</div>
          </template>
        </van-search>
      </van-sticky>
      <!-- <van-tabs
      v-model="active"
      v-model="active"
        @change="
      @change="postList"
          postList(searchValue);
          showIndex = null;
        "
      color="#2980f7"
      color="#2980f7"
      animated
      animated
      :sticky="true"
      :sticky="true"
        offset-top="2.93rem"
    >
    >
        <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title"> -->
      <van-tab v-for="item in tabs" :key="item.key" :title="item.title">
        <!-- 内容列表 -->
        <!-- 内容列表 -->
          <div
        <div class="con-list">
            class="con-list"
            @touchmove="showIndex = null"
          >
          <van-cell-group
          <van-cell-group
            inset
            inset
            v-for="(item, index) in messageList"
            v-for="(item, index) in messageList"
            :key="index"
            :key="index"
              @click="touchstart(index, item)"
          >
          >
             <div style="font-size: 0.45rem;padding: 5px 0;">{{item.title}}</div>
            <div style="font-size: 0.45rem;padding: 5px 0;">

              {{ item.title }}
            </div>
            <van-row gutter="">
            <van-row gutter="">
              <van-col span="17">
              <van-col span="17">
                <van-row gutter="">
                <van-row gutter="">
                        <van-col span="9">发起时间:</van-col>
                  <van-col span="9">创建人:</van-col>
                        <van-col span="15">{{ item.time}}</van-col>
                  <van-col span="15">{{ item.leaderUserName }}</van-col>
                </van-row>
                </van-row>
                <van-row gutter="">
                <van-row gutter="">
                        <van-col span="9">处理人员:</van-col>
                  <van-col span="9">发起时间:</van-col>
                        <van-col span="15">{{ item.name }}</van-col>
                  <van-col span="15">{{
                    timestampToTimes(item.startTime)
                  }}</van-col>
                </van-row>
                </van-row>
              </van-col>
              </van-col>
                <van-col span="7" :style="{'color':item.state == 1 ? '#0069e5':'#03b615'}">
              <van-col span="7">
                    {{ '●待审批'}}
                <van-row
                </van-col>
                  :style="{
             </van-row>
                    color:

                      active == 0
              <!-- <van-row gutter="">
                        ? '#f79648'
                <van-col span="7">风险源:</van-col>
                        : active == 1
                <van-col span="17">{{ item.riskSource }}</van-col>
                        ? '#0069e5'
              </van-row> -->
                        : '#03b615'
  
                  }"
              <!-- 长按显示遮罩层 -->
              <van-overlay :show="showIndex == index">
                <div class="wrapper" @click.stop="showIndex = null">
                  <van-button round type="primary" @click="goDetail(item)"
  
                    >详情</van-button
                >
                >
                  <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
                  {{ item.state }}
                    >确认</van-button
                </van-row>
                <van-row>
                  <van-button
                    type="info"
                    size="mini"
                    @click="lookdetail(index, item)"
                    >执行情况</van-button
                  >
                  >
                </div>
                </van-row>
              </van-overlay>
              </van-col>
            </van-row>
          </van-cell-group>
          </van-cell-group>
          <div
          <div
            style="
            style="
@@ -90,21 +74,103 @@
        </div>
        </div>
        <!-- 暂无数据 -->
        <!-- 暂无数据 -->
        <!-- {{messageList}} -->
        <!-- {{messageList}} -->
      </van-tab>
    </van-tabs>
    <!-- 长按显示遮罩层 -->
    <van-popup
      v-model="showIndex"
      closeable
      round
      position="right"
      :style="{ width: '90%', height: '100%' }"
    >
      <van-cell-group title="执行情况">
        <!-- 内容列表 -->
        <div class="con-list">
          <van-cell-group
            inset
            v-for="(item, index) in buildingList"
            :key="index"
          >
            <van-row gutter="">
              <van-col span="16">{{ item.buildingName }}</van-col>
              <van-col
                span="8"
                :style="{
                  color:
                    item.status == 'wait'
                      ? '#F79648'
                      : item.status == 'finish'
                      ? '#03B615'
                      : '#FF041D'
                }"
                >{{
                  item.status == "wait"
                    ? "待评估"
                    : item.status == "finish"
                    ? "已完成"
                    : "已退回"
                }}</van-col
              >
            </van-row>

            <van-row>
              <van-col span="18">
                <van-row gutter="">
                  <van-col span="8">创 建 人:</van-col>
                  <van-col span="16">{{ item.createUserName }}</van-col>
                </van-row>


        <!-- </van-tab>
                <van-row gutter="">
      </van-tabs> -->
                  <van-col span="8">处理人员:</van-col>
                  <van-col span="16">{{ item.workUserNames }}</van-col>
                </van-row>


                <van-row gutter="">
                  <van-col span="8">发起时间:</van-col>
                  <van-col span="16"
                    >{{ timestampToTimes(item.startTime) }}
                  </van-col>
                </van-row>
              </van-col>
              <van-col span="6">
                <van-row>
                  <van-button
                    type="info"
                    size="mini"
                    @click="todetail(index, item)"
                    >查看详情</van-button
                  >
                </van-row></van-col
              >
            </van-row>
          </van-cell-group>
          <div
            style="
              width: 100%;
              text-align: center;
              font-size: 0.48rem;
              position: fixed;
              top: 30%;
            "
            v-if="buildingList['length'] == 0"
          >
            暂无数据
          </div>
        </div>
      </van-cell-group>
    </van-popup>
  </div>
  </div>
</template>
</template>


<script>
<script>
import LHeader from "@/components/header.vue";
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
import { getFun, postFun } from "@/service/table.js";
//   import { postriskConList } from "@/service/risk";
import { timestampToTime, generateId } from "@/utils/format";
export default {
export default {
    name:'risk-confirme',
  name: "risk-approve",
  components: {
  components: {
      LHeader,
    LHeader
  },
  },
  data() {
  data() {
    return {
    return {
@@ -113,50 +179,65 @@
      isHaveNews: false,
      isHaveNews: false,
      messageList: [
      messageList: [
        {
        {
                title:'XX项目评估任务单',
          title: "XX项目评估任务单",
                time:'2022-12-12',
          time: "2022-12-12",
                name:'Mr.周',
          name: "Mr.周",
          state: 1
          state: 1
        }
        }
      ],
      ],
      Loop: "", // 定时器
      Loop: "", // 定时器
        showIndex: null, // 是否显示遮罩层,
      showIndex: false, // 是否显示遮罩层,
      active: 0,
      active: 0,
      // 状态 wait 待评估,running 执行中,finish 已完成
      tabs: [
      tabs: [
        {
        {
            title: "未执行",
          title: "待审批",
            api: "/riskConfirm/list",
          key: "running"
        },
        },
        {
        {
            title: "已执行",
          title: "已审批",
            api: "/riskConfirm/finishList",
          key: "completed"
        },
        },
        {
          title: "已退回",
          key: "return"
        }
      ],
      ],
      buildingList: []
    };
    };
  },
  },
  created() {
  created() {
    //   this.postList();s
    this.postList(0);
  },
  },
  methods: {
  methods: {
    timestampToTimes(time) {
      return timestampToTime(new Date(time), "DT2", true);
    },
    handadd() {
    handadd() {
      this.$router.push({
      this.$router.push({
        name: "riskAdd",
        name: "riskAdd",
        params: {
        params: {
                    title:'新增'
          title: "新增"
                },
        }
            })
      });
    },
    },
      postList(select = "") {
    postList(name, title) {
      this.$toast.loading({
      this.$toast.loading({
        message: "加载中...",
        message: "加载中...",
        forbidClick: true,
        forbidClick: true,
        loadingType: "spinner",
        loadingType: "spinner",
          duration: 0,
        duration: 0
      });
      });
        let formdata = new FormData();
      let url = `/risk/plan/approve/list?status=running`;
        formdata.append("select", select);
      if (name == 0) {
        postFun(this.tabs[this.active]['api'], formdata)
        url = `/risk/plan/approve/list?status=running`;
          .then((res) => {
      } else if (name == 1) {
        url = `/risk/plan/approve/list?status=completed`;
      } else {
        url = `/risk/plan/approve/list?status=return`;
      }
      getFun(url)
        .then(res => {
          this.$toast.clear();
          this.$toast.clear();
          this.messageList = res.data || res.rows;
          this.messageList = res.data || res.rows;
          // 判断有无数据返回
          // 判断有无数据返回
@@ -173,12 +254,32 @@
    onSearch(val) {
    onSearch(val) {
      this.postList(this.searchValue);
      this.postList(this.searchValue);
    },
    },
      touchstart(index, item) {
    //执行情况
        if (this.showIndex != null) {
    lookdetail(index, item) {
          this.showIndex = null;
      this.showIndex = true;
          return;
      console.log(item);
      getFun("/risk/plan/allocation/building/list/" + item.id)
        .then(res => {
          console.log(res);
          this.buildingList = res.data;
        })
        .catch(() => {
          this.$toast.clear();
          this.$toast.fail("加载失败,请稍后再试");
        });
    },
    //查看详情
    todetail(index, item) {
      this.$router.push({
        name: "riskTaskList",
        params: {
          id: item.id,
          buildingId: item.buildingId
        }
        }
        this.showIndex = index;
      });
      sessionStorage.setItem("planId", item.id);
      sessionStorage.setItem("buildingId", item.buildingId);
      this.showIndex = false;;
    },
    },


    // 详情
    // 详情
@@ -186,61 +287,57 @@
      this.$router.push({
      this.$router.push({
        name: "risk-big-detail",
        name: "risk-big-detail",
        params: {
        params: {
            id: data.businessId||data.id,
          id: data.businessId || data.id
          },
        }
      });
      });
        this.showIndex = null;
      this.showIndex = false;
    },
    },
    // 确认
    // 确认
    goConfirm(data) {
    goConfirm(data) {
      this.$router.push({
      this.$router.push({
        name: "risk-affirm",
        name: "risk-affirm",
        params: {
        params: {
            data: data,
          data: data
          },
        }
      });
      });
        this.showIndex = null;
      this.showIndex = false;
      },
    }
    },
  }
};
};
</script>
</script>
<style lang="less" scoped>
<style lang="less" scoped>
  
#app {
#app {
  font-family: "";
  font-family: "";
  color: #2c3e50;
  color: #2c3e50;
}
}

.con-list {
.con-list {
  padding: 0;
  padding: 0;
  background-color: #f0f1f5;
  background-color: #f0f1f5;
  position: relative;

  .van-cell-group--inset {
  .van-cell-group--inset {
    margin: 0;
    margin: 0;
    margin-bottom: 0.26667rem;
    margin-bottom: 0.26667rem;
    padding: 0.25rem;
    padding: 0.25rem;
    font-size: 0.4rem;
    font-size: 0.4rem;
      position: relative;
    border-radius: 4%;
    border-radius: 4%;
    box-shadow: 0px 0px 10px 2px #f3f3f3;
    box-shadow: 0px 0px 10px 2px #f3f3f3;
    width: 90%;
    width: 90%;
    margin: 0.4rem auto;
    margin: 0.4rem auto;

    .van-row {
    .van-row {
      font-size: 0.4rem;
      font-size: 0.4rem;
      line-height: 0.8rem;
      line-height: 0.8rem;
      margin-bottom: 0;
      margin-bottom: 0;
    }
    }
      .van-overlay {
  }
        position: absolute;
}

.wrapper {
.wrapper {
  display: flex;
  display: flex;
  align-items: center;
  align-items: center;
          justify-content: space-evenly;
  justify-content: center;
  height: 100%;
  height: 100%;
}
}
      }
    }
  }
  /deep/.van-tab__pane{
      min-height: 8rem;
  }
</style>
</style>
  
 No newline at end of file
+1 −1
Original line number Original line Diff line number Diff line
@@ -170,7 +170,7 @@ import { timestampToTime, generateId } from "@/utils/format";
export default {
export default {
  name: "risk-execution",
  name: "risk-execution",
  components: {
  components: {
    LHeader
    LHeader,
  },
  },
  data() {
  data() {
    return {
    return {
+1 −1

File changed.

Contains only whitespace changes.