|
@@ -4,20 +4,20 @@
|
|
|
<toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
|
|
|
<div class="search">
|
|
|
<mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
|
|
|
- <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(1)"
|
|
|
+ <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(1)"
|
|
|
v-if="isAuthor">新建</el-button>
|
|
|
</div>
|
|
|
<div class="tabbox">
|
|
|
- <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
|
|
|
- :row-style="tableRowClassName"
|
|
|
+ <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
|
|
|
+ :row-style="tableRowClassName"
|
|
|
tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
|
|
|
<el-table-column prop="itemName" label="申请事项" width="200"></el-table-column>
|
|
|
- <el-table-column prop="planPurpose" label="策划目的" ></el-table-column>
|
|
|
+ <el-table-column prop="planPurpose" label="策划目的" ></el-table-column>
|
|
|
<el-table-column prop="createTime" label="申请时间" width="150"></el-table-column>
|
|
|
- <el-table-column prop="createName" label="申请人" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="createName" label="申请人" width="100"></el-table-column>
|
|
|
<el-table-column prop="queryStatus" label="状态" width="100">
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作" width="200" align="center" fixed="right">
|
|
|
+ <el-table-column label="操作" width="150" align="center" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
|
<el-button size="mini" type="primary" plain @click="dialogCheck(2,scope.row)">
|
|
|
查看
|
|
@@ -49,25 +49,25 @@
|
|
|
<el-form :model="infolist" ref="infolist" :rules="rules" style="height: 60vh;overflow-y: scroll;" >
|
|
|
<div class="info-line">
|
|
|
<span><i>*</i>申请事项</span>
|
|
|
- <el-form-item prop="itemName" class="form-item">
|
|
|
+ <el-form-item prop="itemName" class="form-item">
|
|
|
<el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
|
|
|
v-model.trim="infolist.itemName" placeholder="请输入申请事项内容"
|
|
|
:disabled="disableStatus" maxlength="60" show-word-limit >
|
|
|
</el-input>
|
|
|
- <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
- class="el-descriptions">{{infolist.itemName}}</div>
|
|
|
+ <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
+ class="el-descriptions">{{infolist.itemName}}</div>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="info-line">
|
|
|
- <span><i>*</i>频道选取</span>
|
|
|
- <el-form-item prop="channelName" class="form-item">
|
|
|
+ <span><i>*</i>频道选取</span>
|
|
|
+ <el-form-item prop="channelName" class="form-item">
|
|
|
<el-radio-group v-if="this.formStatus!=2 && '06'.includes(infolist.status)" class="el-radio-group"
|
|
|
v-model="infolist.channelName" @change="handleRadioChanges" >
|
|
|
<el-radio v-for="item in channelList" :key="item.orderNumber" :label="item.dataName">
|
|
|
- </el-radio>
|
|
|
+ </el-radio>
|
|
|
</el-radio-group>
|
|
|
- <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
- class="el-descriptions">{{infolist.channelName}}</div>
|
|
|
+ <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
+ class="el-descriptions">{{infolist.channelName}}</div>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="info-line" v-if="isOther">
|
|
@@ -76,73 +76,73 @@
|
|
|
<el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
|
|
|
v-model.trim="infolist.otherName" maxlength="16" show-word-limit
|
|
|
:disabled="disableStatus" placeholder="请输入其他频道名称" ></el-input>
|
|
|
- <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
- class="el-descriptions">{{infolist.otherName}}</div>
|
|
|
+ <div v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
+ class="el-descriptions">{{infolist.otherName}}</div>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
<div class="info-line">
|
|
|
<span><i>*</i>策划目的</span>
|
|
|
- <el-form-item prop="planPurpose" class="form-item">
|
|
|
+ <el-form-item prop="planPurpose" class="form-item">
|
|
|
<el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
|
|
|
v-model="infolist.planPurpose" type="textarea" :autosize="{ minRows: 3}"
|
|
|
:disabled="disableStatus" placeholder="请输入策划目的" ></el-input>
|
|
|
- <pre v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
- class="el-descriptions">{{infolist.planPurpose}}</pre>
|
|
|
+ <pre v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
+ class="el-descriptions">{{infolist.planPurpose}}</pre>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
<div class="info-line">
|
|
|
<span><i>*</i>策划描述</span>
|
|
|
- <el-form-item prop="planDescription" class="form-item">
|
|
|
+ <el-form-item prop="planDescription" class="form-item">
|
|
|
<el-input v-if="this.formStatus!=2 && '06'.includes(infolist.status)"
|
|
|
v-model="infolist.planDescription" type="textarea" :autosize="{ minRows: 3}"
|
|
|
:disabled="disableStatus" placeholder="请输入策划描述" ></el-input>
|
|
|
- <pre v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
+ <pre v-if="this.formStatus===2 || !'06'.includes(infolist.status)"
|
|
|
class="el-descriptions">{{infolist.planDescription}}</pre>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
|
<div class="info-line" v-if="this.formStatus!=2 && '123'.includes(infolist.status) " >
|
|
|
<span><i>{{this.isr}}</i>审批意见</span>
|
|
|
- <el-form-item prop="opinions" class="form-item">
|
|
|
+ <el-form-item prop="opinions" class="form-item">
|
|
|
<el-input v-model="infolist.opinions" type="textarea" :autosize="{ minRows: 3}"
|
|
|
:disabled="disableStatus" placeholder="请输入审批意见" ></el-input>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<div class="info-line" v-if="this.formStatus!=2 && '0126'.includes(infolist.status) " >
|
|
|
- <span><i>*</i>下一步审批人<br/>{{this.nextStep}}</span>
|
|
|
- <el-form-item prop="assigneeName" class="form-item">
|
|
|
+ <span><i>*</i>下一步审批人<br/>{{this.nextStep}}</span>
|
|
|
+ <el-form-item prop="assigneeName" class="form-item">
|
|
|
<el-input type="input" placeholder="请选择审批人" readonly @click.native="showUserTreeDlg"
|
|
|
- v-model="infolist.assigneeName" style="width:500px">
|
|
|
- </el-input>
|
|
|
- <el-button type="primary" plain icon="el-icon-search" @click="showUserTreeDlg"></el-button>
|
|
|
- <el-input type="hidden" v-show="false" v-model="infolist.assigneeNo"/>
|
|
|
+ v-model="infolist.assigneeName" style="width:500px">
|
|
|
+ </el-input>
|
|
|
+ <el-button type="primary" plain icon="el-icon-search" @click="showUserTreeDlg"></el-button>
|
|
|
+ <el-input type="hidden" v-show="false" v-model="infolist.assigneeNo"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="info-line" style="margin-bottom: 22px">
|
|
|
<span>附件</span>
|
|
|
- <div class="form-item">
|
|
|
+ <div class="form-item">
|
|
|
<div class="el-descriptions" v-if="this.formStatus!=2 && '06'.includes(infolist.status)">
|
|
|
<myUpload @uploadBack="uploadBack" :fileInfo="fileInfo"
|
|
|
:fileList="fileInfo.fileList"></myUpload>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
<div style="el-descriptions" v-if="(disableStatus || !'06'.includes(infolist.status)) && datalist.attList.length>0">
|
|
|
<uploadDown :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
|
|
|
</div>
|
|
|
- <div v-if="(disableStatus || !'06'.includes(infolist.status)) && datalist.attList.length===0 "
|
|
|
+ <div v-if="(disableStatus || !'06'.includes(infolist.status)) && datalist.attList.length===0 "
|
|
|
class="el-descriptions">---- 无附件 ----</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="info-line" v-if="this.formStatus!=1">
|
|
|
- <span>审批记录</span>
|
|
|
- <el-table class="form-item" :data="flowHistory"
|
|
|
+ <span>审批记录</span>
|
|
|
+ <el-table class="form-item" :data="flowHistory"
|
|
|
:header-cell-style="{background:'#eee',color:'#0c1d3e',height:'20px'}"
|
|
|
size="mini" border >
|
|
|
<el-table-column prop="step" label="流程环节" width="200"></el-table-column>
|
|
|
- <el-table-column prop="handler" label="处理人" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="handler" label="处理人" width="100"></el-table-column>
|
|
|
<el-table-column prop="time" label="处理时间" width="150"></el-table-column>
|
|
|
<el-table-column prop="flag" label="操作" width="100"></el-table-column>
|
|
|
<el-table-column prop="opinion" label="审批意见" ></el-table-column>
|
|
@@ -150,11 +150,11 @@
|
|
|
</div>
|
|
|
<div class="info-line" v-if="'458'.includes(infolist.status)" >
|
|
|
<span>执行结果</span>
|
|
|
- <el-form-item prop="result" class="form-item">
|
|
|
+ <el-form-item prop="result" class="form-item">
|
|
|
<el-input v-if="this.formStatus!=2 && '4'.includes(infolist.status)"
|
|
|
v-model="infolist.result" type="textarea" :autosize="{ minRows: 3}"
|
|
|
:disabled="disableStatus" placeholder="请输入执行结果" ></el-input>
|
|
|
- <div v-if="this.formStatus===2 || !'458'.includes(infolist.status)"
|
|
|
+ <div v-if="this.formStatus===2 || !'458'.includes(infolist.status)"
|
|
|
class="el-descriptions">{{infolist.result}}</div>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -164,19 +164,19 @@
|
|
|
<span v-if="this.formStatus===1 || this.formStatus===3">
|
|
|
<el-button v-if="infolist.status==='0' || infolist.status==='1'"
|
|
|
type="primary" @click="dialogCli('submit')" >提 交</el-button>
|
|
|
- <el-button v-if="infolist.status==='2' || infolist.status=='3'"
|
|
|
+ <el-button v-if="infolist.status==='2' || infolist.status=='3'"
|
|
|
type="primary" @click="dialogCli('agree')">同 意</el-button>
|
|
|
- <el-button v-if="infolist.status==='3'"
|
|
|
+ <el-button v-if="infolist.status==='3'"
|
|
|
type="danger" @click="dialogCli('disagree')">不同意</el-button>
|
|
|
- <el-button v-if="infolist.status==='2' || infolist.status=='3'"
|
|
|
+ <el-button v-if="infolist.status==='2' || infolist.status=='3'"
|
|
|
type="warning" @click="dialogCli('return')">退回修改</el-button>
|
|
|
- <el-button v-if="infolist.status==='4'"
|
|
|
+ <el-button v-if="infolist.status==='4'"
|
|
|
type="primary" @click="dialogCli('exe')">已执行</el-button>
|
|
|
- <el-button v-if="infolist.status==='4'"
|
|
|
+ <el-button v-if="infolist.status==='4'"
|
|
|
type="info" @click="dialogCli('unexe')">未执行</el-button>
|
|
|
- <el-button v-if="infolist.status==='6'"
|
|
|
+ <el-button v-if="infolist.status==='6'"
|
|
|
type="primary" @click="dialogCli('submit')">重新发起</el-button>
|
|
|
- <el-button v-if="infolist.status==='6'"
|
|
|
+ <el-button v-if="infolist.status==='6'"
|
|
|
type="info" @click="dialogCli('over')">结束流程</el-button>
|
|
|
<el-button @click="dialogCli('close')">取 消</el-button>
|
|
|
</span>
|
|
@@ -217,7 +217,7 @@ export default {
|
|
|
callback(new Error('请选择审批人'))
|
|
|
} else {
|
|
|
callback()
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
const opinionsRule = (rule, value, callback) => {
|
|
@@ -242,21 +242,21 @@ export default {
|
|
|
}else{
|
|
|
callback(new Error('不能为空'))
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
const urls = {
|
|
|
uploadUrl:'/market/iptv/upload',
|
|
|
- downfileUrl:'/market/iptv/downfile'
|
|
|
+ downfileUrl:'/market/iptv/downfile'
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
- tooltit: '上线审批列表',
|
|
|
+ tooltit: '上线审批列表',
|
|
|
queryListUrl:'/market/iptvPlanApproval/queryPage',
|
|
|
queryInfoUrl:'/market/iptvPlanApproval/query',
|
|
|
addUrl:'/market/iptvPlanApproval/add',
|
|
|
updateUrl:'/market/iptvPlanApproval/update',
|
|
|
delUrl: "/market/iptvPlanApproval/delByid",
|
|
|
- getPermUrl:"/market/iptv/getPermissions",
|
|
|
+ getPermUrl:"/market/iptvPlanApproval/getPermissions",
|
|
|
fullscreen: false,
|
|
|
total: 0,
|
|
|
pageSize: 1,
|
|
@@ -405,7 +405,7 @@ export default {
|
|
|
//关闭主对话框
|
|
|
closedia() {
|
|
|
this.infolist = {};
|
|
|
- this.flowHistory=[];
|
|
|
+ this.flowHistory=[];
|
|
|
this.dialogCli('close');
|
|
|
},
|
|
|
//提交搜索数据
|
|
@@ -450,7 +450,7 @@ export default {
|
|
|
this.pageSize = n;
|
|
|
this.getList(this.params, this.pageSize);
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
/************
|
|
|
* @description: 展示不同状态(增、查、改)的主表单
|
|
|
* @param v 状态标识(1:增;2:查,3:改)
|
|
@@ -461,12 +461,12 @@ export default {
|
|
|
this.infolist = {};
|
|
|
this.formStatus = v;
|
|
|
if (v === 1) {
|
|
|
- this.titname = '新建';
|
|
|
+ this.titname = '新建';
|
|
|
this.getUser();
|
|
|
this.dialogStatus = true;
|
|
|
this.disableStatus = false;
|
|
|
- this.fileInfo.fileList = [];
|
|
|
- this.attList = [];
|
|
|
+ this.fileInfo.fileList = [];
|
|
|
+ this.attList = [];
|
|
|
this.formStatus = 1; //页面状态1:添加,2:浏览,3:处理
|
|
|
this.nextStep=' [频道负责人]';
|
|
|
this.infolist.status = '0';
|
|
@@ -476,13 +476,13 @@ export default {
|
|
|
this.titname = '查看';
|
|
|
this.disableStatus = true;
|
|
|
this.dialogStatus = true;
|
|
|
- this.formStatus = 2;
|
|
|
+ this.formStatus = 2;
|
|
|
this.loading = true;
|
|
|
} else if (v === 3) {
|
|
|
this.dialogStatus = true;
|
|
|
this.disableStatus = false;
|
|
|
this.titname = '处理';
|
|
|
- this.formStatus = 3;
|
|
|
+ this.formStatus = 3;
|
|
|
this.loading = true;
|
|
|
this.isr = "";
|
|
|
}
|
|
@@ -537,7 +537,7 @@ export default {
|
|
|
* @return void
|
|
|
*************/
|
|
|
dialogCli(v) {
|
|
|
-
|
|
|
+
|
|
|
if (v === "close") {
|
|
|
this.datalist.attList = [];
|
|
|
this.uploadstatus = false;
|
|
@@ -554,7 +554,7 @@ export default {
|
|
|
}else{
|
|
|
this.submitInfo(this.updateUrl, v);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
|
|
|
/************
|
|
@@ -569,7 +569,7 @@ export default {
|
|
|
this.$refs.infolist.validate(valid => {
|
|
|
if (valid) {
|
|
|
let attList = [];
|
|
|
-
|
|
|
+
|
|
|
this.datalist.attList = [];
|
|
|
this.uploadstatus = false;
|
|
|
for (let i = 0; i < this.attList.length; i++) {
|
|
@@ -579,7 +579,7 @@ export default {
|
|
|
fileName: this.attList[i].fileName,
|
|
|
opName: this.attList[i].opName,
|
|
|
opNo: this.attList[i].opNo,
|
|
|
- opTime: this.attList[i].opTime
|
|
|
+ opTime: this.attList[i].opTime
|
|
|
});
|
|
|
}
|
|
|
this.infolist.attList = attList;
|
|
@@ -698,7 +698,7 @@ export default {
|
|
|
if (row.queryStatus === '待办') {
|
|
|
stylejson.background ='oldlace';
|
|
|
return stylejson;
|
|
|
- }
|
|
|
+ }
|
|
|
return ''
|
|
|
}
|
|
|
},
|
|
@@ -707,7 +707,7 @@ export default {
|
|
|
this.getUser();
|
|
|
this.getChannelList();
|
|
|
this.getList(this.params, this.pageSize);
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
created() {
|
|
|
|
|
@@ -762,13 +762,13 @@ export default {
|
|
|
padding-top: 10px;
|
|
|
text-align: left;
|
|
|
line-height:15px;
|
|
|
- vertical-align: top;
|
|
|
+ vertical-align: top;
|
|
|
|
|
|
i {
|
|
|
color: red;
|
|
|
display: inline-block;
|
|
|
padding-right: 5px;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -781,8 +781,8 @@ export default {
|
|
|
width: 100%;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- .tree
|
|
|
+
|
|
|
+ .tree
|
|
|
{
|
|
|
width: calc(100% - 100px);
|
|
|
}
|
|
@@ -798,7 +798,7 @@ export default {
|
|
|
width: 100%;
|
|
|
border-radius: 5px;
|
|
|
min-height:35px;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
.el-radio-group{
|