123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806 |
- <template>
- <div style="display: flex; justify-content: space-between">
- <div class="taskbox">
- <div class="tit">
- <span class="span1" @click="tabboxclick1"
- >我的待办 ({{ this.totalDaiban}})</span
- >
- <span class="span2" @click="tabboxclick2">我的已办</span>
- <span class="span3" @click="tabboxclick3">我的发起</span>
- <!-- <span class="span" @click="more">更多>></span> -->
- </div>
- <div class="fatherbox">
- <div class="tabbox">
- <!-- 我的待办列表 -->
- <el-table
- :header-cell-style="{
- background: '#F2F2F2',
- 'text-align': 'center',
- }"
- :cell-style="{ background: '#FaFaFa' }"
- v-if="tabbox1"
- class="com-table"
- ref="multipleTable"
- :data="niticList"
- tooltip-effect="dark"
- size="small"
- style="width: 100%; font-size: 16px; background: '#FaFaFa'"
- height="442px"
- >
- <el-table-column
- prop="woTitle"
- label="工单标题"
- align="left"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span
- :title="scope.row.woTitle"
- @click="RowTitle(scope.row)"
- :style="
- scope.row.woTypeDesc == '预警工单'
- ? 'cursor: pointer;color:red;'
- : 'cursor: pointer;color:blue;'
- "
- >
- <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
- >•</span> -->
- {{ scope.row.woTitle }}</span
- >
- </template>
- </el-table-column>
- <el-table-column
- prop="procName"
- label="流程名称"
- align="center"
- width="180"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span :title="scope.row.procName">{{
- scope.row.procName
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="assigneName"
- label="上一步处理人"
- align="center"
- width="120"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span :title="scope.row.assigneName">{{
- scope.row.assigneName
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="clsj"
- label="上一步处理时间"
- align="center"
- width="135"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.clsj }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="opName"
- label="发起姓名"
- align="center"
- width="100"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.opName }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="createTime"
- label="发起时间"
- align="center"
- width="130"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.createTime }}</span>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- class="pageBox"
- @current-change="currchangeDdaiban"
- layout="total,prev, pager, next"
- background
- :page-size="pagesize"
- :total="totalDaiban"
- v-if="tabbox1"
- >
- </el-pagination>
- </div>
- <div class="tabbox">
- <!-- 我的已办列表 -->
- <el-table
- :header-cell-style="{
- background: '#F2F2F2',
- 'text-align': 'center',
- }"
- :cell-style="{ background: '#FaFaFa' }"
- class="com-table"
- ref="tableDatayj"
- v-if="tabbox2"
- :data="tableDatayj"
- tooltip-effect="dark"
- size="small"
- style="width: 100%; font-size: 16px; background: '#FaFaFa'"
- height="442px"
- >
- <el-table-column
- prop="woTitle"
- label="工单标题"
- align="left"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
- >•</span
- > -->
- <span
- @click="RowDoneTitle(scope.row)"
- :title="scope.row.woTitle"
- style="cursor: pointer; color: blue"
- >{{ scope.row.woTitle }}</span
- >
- </template>
- </el-table-column>
- <el-table-column
- prop="procName"
- label="流程名称"
- align="center"
- width="180"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span :title="scope.row.procName">{{
- scope.row.procName
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="opName"
- label="发起姓名"
- align="center"
- width="120"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.opName }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="createTime"
- label="发起时间"
- align="center"
- width="180"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.createTime }}</span>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- class="pageBox"
- v-if="tabbox2"
- @current-change="currchangeDone"
- layout="total,prev, pager, next"
- background
- :total="totalDone"
- :page-size="pagesize"
- >
- </el-pagination>
- </div>
- <div class="tabbox">
- <!-- 我的发起列表 -->
- <el-table
- :header-cell-style="{
- background: '#F2F2F2',
- 'text-align': 'center',
- }"
- :cell-style="{ background: '#FaFaFa' }"
- class="com-table"
- ref="OpList"
- :data="OpList"
- v-if="tabbox3"
- tooltip-effect="dark"
- size="small"
- style="width: 100%; font-size: 16px; background: '#FaFaFa'"
- height="442px"
- >
- <el-table-column
- prop="woTitle"
- label="工单标题"
- align="left"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
- >•</span
- > -->
- <span
- :title="scope.row.woTitle"
- @click="RowlaunchTitle(scope.row)"
- style="cursor: pointer; color: blue"
- >{{ scope.row.woTitle }}</span
- >
- </template>
- </el-table-column>
- <el-table-column
- prop="procName"
- label="流程名称"
- align="center"
- :show-overflow-tooltip="true"
- >
- <template slot-scope="scope">
- <span :title="scope.row.procName">{{
- scope.row.procName
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- prop="createTime"
- label="发起时间"
- align="center"
- width="180"
- >
- <template slot-scope="scope">
- <span>{{ scope.row.createTime }}</span>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- class="pageBox"
- @current-change="currchangeOp"
- layout="total,prev, pager, next"
- background
- :total="totalOp"
- v-if="tabbox3"
- :page-size="pagesize"
- >
- </el-pagination>
- </div>
- </div>
- <!-- 查看待办弹窗 -->
- <el-dialog
- title="查看"
- :visible.sync="WorkOrderStatus"
- width="50%"
- :close-on-press-escape="false"
- :show-close="true"
- :destroy-on-close="true"
- :modal-append-to-body="false"
- :close-on-click-modal="false"
- >
- <div>
- <el-form :inline="true" :model="StatusList" class="demo-form-inline">
- <el-form-item label="工单标题">
- <el-input
- v-model="StatusList.woTitle"
- placeholder="工单标题"
- disabled
- />
- </el-form-item>
- <el-form-item label="流程名称">
- <el-input
- v-model="StatusList.procName"
- placeholder="流程名称"
- disabled
- />
- </el-form-item>
- </el-form>
- <h3>流程轨迹</h3>
- <el-table
- :data="WorkOrderList"
- style="width: 100%"
- max-height="350"
- height="300"
- >
- <el-table-column prop="createTime" label="节点开始时间" />
- <el-table-column prop="stepName" label="节点名称" width="180" />
- <el-table-column prop="assigneeName" label="处理角色" width="180" />
- <el-table-column prop="opTime" label="处理时间" />
- </el-table>
- </div>
- <div class="diobtn">
- <el-button @click="dlogStatus()">处理</el-button>
- </div>
- </el-dialog>
- <!-- 查看已办弹窗 -->
- <el-dialog
- title="查看"
- :visible.sync="DoneStatus"
- width="50%"
- :close-on-press-escape="false"
- :show-close="true"
- :destroy-on-close="true"
- :modal-append-to-body="false"
- :close-on-click-modal="false"
- >
- <div>
- <el-form :inline="true" :model="StatusList" class="demo-form-inline">
- <el-form-item label="工单标题">
- <el-input
- v-model="StatusList.woTitle"
- placeholder="工单标题"
- disabled
- />
- </el-form-item>
- <el-form-item label="流程名称">
- <el-input
- v-model="StatusList.procName"
- placeholder="流程名称"
- disabled
- />
- </el-form-item>
- </el-form>
- <h3>流程轨迹</h3>
- <el-table
- :data="DoneList"
- style="width: 100%"
- max-height="350"
- height="300"
- >
- <el-table-column prop="createTime" label="节点开始时间" />
- <el-table-column prop="stepName" label="节点名称" width="180" />
- <el-table-column prop="assigneeName" label="处理角色" width="180" />
- <el-table-column prop="opTime" label="处理时间" />
- </el-table>
- </div>
- <div class="diobtn">
- <el-button @click="dlogStatus()">查看详情</el-button>
- </div>
- </el-dialog>
- <!-- 查看发起弹窗 -->
- <el-dialog
- title="查看"
- :visible.sync="launchStatus"
- width="50%"
- :close-on-press-escape="false"
- :show-close="true"
- :destroy-on-close="true"
- :modal-append-to-body="false"
- :close-on-click-modal="false"
- >
- <div>
- <el-form :inline="true" :model="StatusList" class="demo-form-inline">
- <el-form-item label="工单标题">
- <el-input
- v-model="StatusList.woTitle"
- placeholder="工单标题"
- disabled
- />
- </el-form-item>
- <el-form-item label="流程名称">
- <el-input
- v-model="StatusList.procName"
- placeholder="流程名称"
- disabled
- />
- </el-form-item>
- </el-form>
- <h3>流程轨迹</h3>
- <el-table
- :data="launchList"
- style="width: 100%"
- max-height="350"
- height="300"
- >
- <el-table-column prop="createTime" label="节点开始时间" />
- <el-table-column prop="stepName" label="节点名称" width="180" />
- <el-table-column prop="assigneeName" label="处理角色" width="180" />
- <el-table-column prop="opTime" label="处理时间" />
- </el-table>
- </div>
- </el-dialog>
- <!-- 处理弹窗 -->
- <el-dialog
- title="处理"
- :visible.sync="WorkOrderStatus1"
- width="40%"
- :close-on-press-escape="false"
- :show-close="true"
- :destroy-on-close="true"
- :modal-append-to-body="false"
- :close-on-click-modal="false"
- >
- <div style="height: 450px">
- <iframe
- height="100%"
- width="100%"
- :src="dialogdiv"
- frameborder="0"
- ></iframe>
- </div>
- </el-dialog>
- </div>
- </div>
- </template>
- <script>
- export default {
- components: {},
- // props:["tableDatayj","niticList"],
- data() {
- return {
- tabbox1: true, //待办
- tabbox2: false, //已办
- tabbox3: false, //发起
- niticList: [], //待办列表
- tableDatayj: [], //已办列表
- OpList: [], //我的发起列表
- WorkOrderStatus: false, //查看待办弹窗
- launchStatus: false, //查看我的发起弹窗
- DoneStatus: false, //查看已办弹窗
- WorkOrderStatus1: false, //处理弹窗
- dialogdiv: "", //iframe
- StatusList: [], //form表单里列表
- WorkOrderList: [], //我的待办流程节点
- DoneList: [], //我的已办流程节点
- launchList: [], //我的发起流程节点
- urlllll: "", //跳转路由
- totalDone: 0, //已办分页
- totalDaiban: 0, //已办分页
- totalOp: 0, //已办分页
- params: {},
- pageSize: 1,
- pagesize: 10,
- pageSizeDone: 1,
- pageSizeDdaiban: 1,
- pageSizeOp: 1,
- };
- },
- methods: {
- //处理按钮
- dlogStatus() {
- // this.WorkOrderStatus = false;
- // this.WorkOrderStatus1 = true;
- this.$router.push(this.urlllll);
- console.log(this.urlllll);
- },
- //查看标题按钮按钮
- RowTitle(v) {
- this.StatusList = v;
- console.log(v.actionUrl);
- if (v.procName) {
- this.WorkOrderStatus = true;
- this.$http({
- url: "/market/cwo/queryProcStepByWono",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- woNo: v.woNo,
- },
- }).then((res) => {
- this.WorkOrderList = res.data;
- });
- this.$http({
- url: "/market/cwo/redirectDealPage",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- procId: v.procId,
- },
- }).then((res) => {
- this.urlllll = res.data[0].jspUrl;
- // console.log(this.urlllll)
- // if(this.urlllll=="#"){
- // this.urlllll=res.data[1].jspUrl
- // }
- console.log(this.urlllll);
- });
- } else {
- this.$router.push(v.actionUrl);
- }
- },
- //我的已办查看按钮
- RowDoneTitle(v) {
- this.StatusList = v;
- console.log(v.actionUrl);
- if (v.procName) {
- this.DoneStatus = true;
- this.$http({
- url: "/market/cwo/queryProcStepByWono",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- woNo: v.woNo,
- },
- }).then((res) => {
- this.DoneList = res.data;
- });
- this.$http({
- url: "/market/cwo/redirectDealPage",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- procId: v.procId,
- },
- }).then((res) => {
- this.urlllll = res.data[0].jspUrl;
- // console.log(this.urlllll)
- // if(this.urlllll=="#"){
- // this.urlllll=res.data[1].jspUrl
- // }
- console.log(this.urlllll);
- });
- } else {
- this.$router.push(v.actionUrl);
- }
- },
- //我的发起查看按钮
- RowlaunchTitle(v) {
- this.StatusList = v;
- console.log(v.actionUrl);
- if (v.procName) {
- this.launchStatus = true;
- this.$http({
- url: "/market/cwo/queryProcStepByWono",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- },
- data: {
- woNo: v.woNo,
- },
- }).then((res) => {
- this.launchList = res.data;
- });
- }else {
- this.$router.push(v.actionUrl);
- }
- },
- //更多按钮
- more() {
- console.log(11);
- },
- //待办列表初始化
- daiban(v, n) {
- this.pageSizeDdaiban = n;
- this.$http({
- url: "/market/cwo/queryQaToDoList",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- page: '{"pageNo":"' + n + '","pageSize":"10"}',
- },
- data: '{"pageNo":"' + n + '","pageSize":"10"}',
- }).then((res) => {
- this.niticList = res.data.data;
- this.totalDaiban = res.data.totalRecord;
- });
- },
- //已办列表初始化
- getListyj(v, n) {
- this.pageSizeDone = n;
- let _this = this;
- this.$http({
- url: "/market/cwo/queryQaFinishList",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- page: '{"pageNo":"' + n + '","pageSize":"10"}',
- },
- data: '{"pageNo":"' + n + '","pageSize":"10"}',
- }).then((res) => {
- this.tableDatayj = res.data.data;
- this.totalDone = res.data.totalRecord;
- });
- },
- //待办分页
- currchangeDdaiban(v) {
- this.pageSizeDdaiban = v;
- this.daiban(this.params, this.pageSizeDdaiban);
- },
- //已办分页
- currchangeDone(v) {
- this.pageSizeDone = v;
- this.getListyj(this.params, this.pageSizeDone);
- },
- //发起分页
- currchangeOp(v) {
- this.pageSizeOp = v;
- this.getOPlist(this.params, this.pageSizeOp);
- },
- //我的发起列表初始化
- getOPlist(v, n) {
- this.pageSizeOp = n;
- this.$http({
- url: "/market/cwo/queryOpList",
- method: "post",
- headers: {
- "Content-Type": "application/json",
- page: '{"pageNo":"' + n + '","pageSize":"10"}',
- },
- data: '{"pageNo":"' + n + '","pageSize":"10"}',
- }).then((res) => {
- this.OpList = res.data.data;
- this.totalOp = res.data.totalRecord;
- });
- },
- tabboxclick1() {
- this.tabbox1 = true;
- this.tabbox2 = false;
- this.tabbox3 = false;
- document.querySelector(".span1").style.color = "blue";
- document.querySelector(".span2").style.color = "black";
- document.querySelector(".span2").style.border = 0;
- document.querySelector(".span1").style.borderBottom = "2px solid blue";
- document.querySelector(".span3").style.color = "black";
- document.querySelector(".span3").style.border = 0;
- document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
- },
- tabboxclick2() {
- this.tabbox1 = false;
- this.tabbox2 = true;
- this.tabbox3 = false;
- document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
- document.querySelector(".span1").style.border = 0;
- document.querySelector(".span2").style.borderBottom = "2px solid blue";
- document.querySelector(".span2").style.color = "blue";
- document.querySelector(".span1").style.color = "black";
- document.querySelector(".span3").style.color = "black";
- document.querySelector(".span3").style.border = 0;
- },
- tabboxclick3() {
- this.tabbox1 = false;
- this.tabbox2 = false;
- this.tabbox3 = true;
- document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
- document.querySelector(".span1").style.color = "black";
- document.querySelector(".span2").style.color = "black";
- document.querySelector(".span1").style.border = 0;
- document.querySelector(".span2").style.border = 0;
- document.querySelector(".span3").style.borderBottom = "2px solid blue";
- document.querySelector(".span3").style.color = "blue";
- },
- },
- mounted() {
- this.daiban({}, 1);
- this.getListyj({}, 1);
- this.getOPlist({}, 1);
- this.userInfo = JSON.parse(window.sessionStorage.userInfo);
- },
- created() {},
- };
- </script>
- <style lang="scss" scoped>
- .diobtn {
- position: relative;
- text-align: right;
- // display: flex;
- // justify-content: end;
- margin-top: 10px;
- }
- .taskbox {
- width: 100%;
- display: inline-block;
- }
- .tit {
- margin-top: 10px;
- clear: both;
- height: 47px;
- // background: #fff;
- background-image: linear-gradient(#fafafa, #d4edfd);
- line-height: 47px;
- padding: 0 20px;
- font-size: 16px;
- border-top-left-radius: 5px;
- border-top-right-radius: 5px;
- justify-content: space-between;
- .com-table {
- background: "#FaFaFa";
- }
- .span {
- float: right;
- color: orange;
- }
- .span1 {
- display: inline-block;
- color: blue;
- text-align: center;
- height: 46px;
- font-weight: 900;
- width: 120px;
- border-bottom: 2px solid blue;
- }
- .span2 {
- display: inline-block;
- text-align: center;
- height: 46px;
- width: 120px;
- font-weight: 900;
- }
- .span3 {
- display: inline-block;
- text-align: center;
- height: 46px;
- width: 120px;
- font-weight: 900;
- }
- span {
- cursor: pointer;
- }
- }
- .info-line {
- width: 100%;
- display: block;
- padding-left: 20px;
- div {
- width: 50%;
- display: inline-block;
- overflow: hidden;
- }
- span {
- width: 80px;
- display: inline-block;
- text-align: left;
- float: left;
- i {
- color: red;
- display: inline-block;
- padding-right: 5px;
- }
- }
- .el-select,
- .el-input {
- width: calc(100% - 100px);
- margin-left: 20px;
- }
- }
- .fatherbox {
- background: #fafafa;
- padding: 10px;
- height: 484px;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
- width: 100%;
- }
- .pageBox {
- }
- ::v-deep .gutter {
- background: #fafafa;
- }
- ::v-deep .is-scrolling-none {
- background: #fafafa;
- }
- // ::v-deep .el-table--scrollable-y .el-table__body-wrapper {
- // overflow: hidden;
- // }
- // ::v-deep .el-table th>.cell{
- // padding:0px;
- // }
- // ::v-deep .el-table__body-wrapper .is-scrolling-left{
- // overflow-x: hidden;
- // }
- </style>
|