3ab844e6 by 焦小希

增加违法数据的项目管理页面的表单页面,和联调了该页面的所有接口工作。

1 parent 20848d0b
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>批后管理待办</title>
<script src="/frontweb/common/js/config.js"></script>
<link rel="stylesheet" href="/frontweb/libs/element-ui/lib-master/theme-chalk/index.css"/>
<script src="/frontweb/libs/vue/vue.js"></script>
<script src="/frontweb/libs/element/index.js"></script>
<script src="/frontweb/libs/axios/axios.min.js"></script>
<script type="text/javascript" src="/frontweb/libs/jquery/jquery.min.js"></script>
<script src="/frontweb/libs/jquery/jquery.cookie.js"></script>
<script type="text/javascript" src="/frontweb/common/js/global/global.localStorage.js"></script>
<script type="text/javascript" src="/frontweb/common/js/global/global.modelctls.js"></script>
<style>
.container{
width: 100vh;
height: 100vh;
background: #ccc;
margin: -20px 10px 0 10px
}
.btns{
width: 73px;
height: 30px;
border-radius: 2px;
background-color: white;
border: 1px solid #0096eb;
color: #0096eb;
cursor: pointer;
padding: 4px 10px;
margin-right: 7px;
outline: 0;
}
.btns:hover{
background: #0096eb;
color: #fff;
}
.fixedtoolbar{
position: fixed;
top: 0;
width: 100%;
background: #ffffff;
padding-left: 20px;
padding-top:20px
}
.el-aside{
/*background: red;*/
border: 1px solid #cac8c8
}
.el-container{
margin-top: 40px;
padding: 22px 20px 20px 20px;
}
.form-row{
padding: 0 18px 0 0;
}
.el-input__icon{
margin-top: 20px;
}
.el-select{
display: block;
}
.main-top{
width:100%;
min-height:400px;
border: 1px solid #cac8c8
}
.main-foot{
width: 100%;
min-height: 390px;
border: 1px solid #cac8c8;
margin-top:10px;
}
.title-bar{
width: 100%;
color: #cac8c8;
border-bottom: 1px solid #cac8c8;
font-size: 16px;
font-weight: bold;
margin: 8px 0;
margin-top: 23px;
padding-bottom: 4px;
margin-bottom: 15px;
}
.el-table--fit{
border:1px solid #cac8c8 !important;
}
</style>
</head>
<body>
<div id="app">
<div class='contanier'>
<div class="fixedtoolbar" >
<button class="btns" @click="back">返回</button>
<button class="btns" @click="saveData">保存</button>
</div>
<!-- 下方区域-->
<el-container>
<el-aside style="width: 60%;margin-right: 10px;min-height:800px;padding-left: 20px;overflow-x: hidden">
<el-form ref="form" :model="form">
<el-row :gutter='5' class="form-row">
<el-col :span="12">
<el-form-item label="项目名称">
<el-input v-model="form.procjectName"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="责任单位">
<el-input v-model="form.dutyUnit"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row class="form-row">
<el-form-item label="项目地址">
<el-input v-model="form.procjectAddress"></el-input>
</el-form-item>
</el-row>
<el-row :gutter='5' class="form-row">
<el-col :span="12">
<el-form-item label="任务年份">
<el-input v-model="form.taskYear"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属区域" >
<el-select v-model="form.distict" clearable placeholder="请选择">
<el-option
v-for="item in distictList"
:key="item.distict"
:label="item.label"
:value="item.distict"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="12">
<el-form-item label="进展阶段">
<el-select v-model="form.evdlveStage" clearable placeholder="请选择">
<el-option
v-for="item in evdlveStageList"
:key="item.evdlveStage"
:label="item.label"
:value="item.evdlveStage"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="项目概况">
<el-input type="textarea" v-model="form.procjectOverview"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="建设内容">
<el-input type="textarea" v-model="form.content"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="进展情况">
<el-input type="textarea" v-model="form.progress"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-aside>
<el-main style="padding:0 10px 0 0">
<div class="main-top">123</div>
<div class="main-foot">
<div class="title-bar">相关资料</div>
<div style="padding-left: 5px;">
<button class="btns" @click="clicktitle('图片')">图片</button>
<button class="btns" @click="clicktitle('文档')">文档</button>
<el-upload
style="float:right;"
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
>
<button class="btns" style="width: 80px" >选择{{FloatRightTitle}}</button>
</el-upload>
</div>
<div style="margin: 5px">
<el-table
v-if="FloatRightTitle=='图片'"
:data="imgtabaledata"
border
stripe
>
<el-table-column
prop="wjmc"
width="250"
label="文件名称"
align="left"
></el-table-column>
<el-table-column
prop="size"
width="50"
label="大小"
align="center"
></el-table-column>
<el-table-column
prop="scsj"
width="250"
label="上传时间"
align="center"
></el-table-column>
<el-table-column
prop=""
width="95"
label="操作"
align="center"
></el-table-column>
</el-table>
<el-table
v-else
:data="filetabeldata"
>
<el-table-column
prop="wjmc"
width="250"
label="文件名称"
align="left"
></el-table-column>
<el-table-column
prop="size"
width="50"
label="大小"
align="center"
></el-table-column>
<el-table-column
prop="scsj"
width="250"
label="上传时间"
align="center"
></el-table-column>
<el-table-column
prop=""
width="95"
label="操作"
align="center"
></el-table-column>
</el-table>
</div>
</div>
</el-main>
</el-container>
</div>
</div>
<script src="./sonjs/widget.js"></script>
</body>
</html>
\ No newline at end of file
......@@ -9,34 +9,7 @@ var self = new Vue({
pageSize:10,
total:0,
// 表格数据
tabaledata:[
{
xmmc:'西安电子工程小区改造',
xmdz:'长安区丰西路',
rwnf:'2020',
zrdw:'西安电子工程研究所',
ssqy:'所属区域',
zdmj:'2600',
jzmj:"5000",
ds:'7',
hs:'313',
hjrs:'1000',
jzjd:'完成改造',
},
{
xmmc:'和平门小区工程小区改造',
xmdz:'长安区丰西路',
rwnf:'2020',
zrdw:'西安电子工程研究所',
ssqy:'所属区域',
zdmj:'2600',
jzmj:"5000",
ds:'7',
hs:'313',
hjrs:'1000',
jzjd:'完成改造',
},
],
tabaledata:[],
multipleSelection: []
}
},
......@@ -51,74 +24,55 @@ var self = new Vue({
}
},
methods:{
//数据请求
getData() {
axios.get(CONF_NEWGHSC_SERVERURL + '/ghjg/backlog/'+this.pageNum+'/'+this.pageSize, {
params: {
flowid: this.flowid,
userId: this.userid,
keyword: this.search
axios.get(CONF_NEWGHSC_SERVERURL + '/wfsj/list',{
params:{
pageNum:this.pageNum,
pageSize:this.pageSize,
keyWord:this.search
}
}).then(res => {
this.total=res.data.total;
let data=res.data.data.Data;
let result =[]
if(data.length){
for (let i=0;i<data.length;i++){
for (let j=0;j<data[i].length;j++){
result.push( data[i][[j]]);
}
}
if(res && res.data && res.data.code==200){
this.tabaledata = res.data.data.list;
this.total = res.data.data.total
}
this.total = result.length;
this.tabaledata = result.slice((this.pageNum - 1) * this.pageSize, (this.pageNum - 1) * this.pageSize + this.pageSize);
}).catch(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
});
},
clickData(row){
this.jumpdetailPage(row)
// console.log(row)
let id = row.id;
window.parent.document.getElementById('iframecontent').src = 'view/PHJG/WFSJ/xmgl/Sonwidget.html?id='+id;
},
//点击删除
handlDelete(){
if(this.multipleSelection.length!=1){
if(this.multipleSelection.length < 1){
this.$message.warning('请先选择需要删除的数据')
return false
}
this.$message.success('删除数据成功')
let params =[];
this.multipleSelection.forEach(item=>{
params.push(item.id)
})
axios.delete(CONF_NEWGHSC_SERVERURL + '/wfsj/phqgz',{data:params}).then(res=>{
if(res && res.data && res.data.code ==200){
this.$message.success('删除数据成功')
}
this.getData()
}
)
},
//点击表格的多选框
handleSelectionChange(val){
this.multipleSelection = val
console.log(this.multipleSelection)
},
//搜索事件
SearchInfo(){
if(!this.search){
this.$message.warning('请先输入关键字后轻敲Enter键搜索')
}
},
jumpdetailPage(data) {
var taskid = data.TASKID;
var detailType = data.detailType;
var projectid = data.id;
var flowInstanceId =data.INSTANCEID;
var titleEncode = encodeURI(encodeURI(data.PROJECTNAME));
var stats = 'dealedproject';
var projecttype = data.FLOWNAME;
var PROJECTSTATUS = encodeURI(encodeURI(data.PROJECTSTATUS));
var FLOWREVISIONID = data.FLOWREVISIONID;
var projectcode = data.PROJECTCODE;
var flowItemTypeKvStr = data.FLOWITEMTYPE?"&flowItemTypeId=" + data.FLOWITEMTYPE:"";
var version = data.FLOWVERSION;
var layerid="";
var coverage="";
var url = CONF_FRONT_SERVERURL
+ 'view/projecttask/detailproject.jsp?projectid=' + projectid + "&referer=''&stats="
+ stats +"&projectcode="+projectcode+"&taskId=" + taskid + "&flowInstanceId=" + flowInstanceId+'&titleEncode='
+ titleEncode + "&projectStatus=" + PROJECTSTATUS+"&flowRevisionId="+FLOWREVISIONID+flowItemTypeKvStr+"&FLOWVERSION="+version+"&detailType="+detailType;
detailPage = window.open(this.handleJumpUrl(url));
parent.saveOpenNew?parent.saveOpenNew(detailPage):sreachparent(opener,"saveOpenNew",detailPage);
this.getData()
},
handleSizeChange(pageSize){
this.pageSize = pageSize
......@@ -128,88 +82,9 @@ var self = new Vue({
this.pageNum = pageNum
this.getData()
},
openHandleJumpUrl (flowId, itemTypeId, _stats = 'create') {
// debugger
var unique = this.uuid();
let url = CONF_FRONT_SERVERURL + 'view/projecttask/detailproject.jsp?';
url += 'stats=' + _stats;
url += '&flowid=' + flowId;
url += '&create=' + (this.projectId ? 1 : 0);
url += '&projectid=' + (this.projectId || "");
url += '&flowItemTypeId=' + (itemTypeId || "");
url += '&uniquePath=' + unique;
window.open(this.handleJumpUrl(url));
this.addFlowUserCount(flowId);
},
addFlowUserCount (flowId) {
if (flowId === null || flowId === undefined) {
return false;
}
this.ajaxPromise({
data: JSON.stringify({"flowId": flowId,"userId": this.userId}),
contentType: "application/json",
url: CONF_BACK_SERVERURL + "/mvc/flow/saveFlowUserCount.do"
}).catch((error)=> {
console.error(error);
});
//点击添加
AddNewPage(){
window.parent.document.getElementById('iframecontent').src = 'view/PHJG/WFSJ/xmgl/Sonwidget.html';
},
handleJumpUrl(url){
var myid = "guid" + this.guid();
var tempArr = url.split("?");
var returnStr = tempArr[0] + "?guid=" + myid;
var urlValue = tempArr[1];
var cacheUrlValue = null;
var data = {
paramUrl:urlValue,
ftoken:$.cookie('ftoken')
};
if(window.globalLocalCache){
cacheUrlValue = window.globalLocalCache.AddCache(myid,"","",data);
}
return returnStr;
},
S4() {
return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
},
guid() {
return (this.S4()+this.S4()+"-"+this.S4()+"-"+this.S4()+"-"+this.S4()+"-"+this.S4()+this.S4()+this.S4());
},
uuid(){
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4";
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
},
ajaxPromise(options) {
return new Promise(function (resolve, reject) {
if ( typeof options !== "object" ) {
return reject("参数错误!");
}
let _type = options.type || "POST";
//'application/json'
$.ajax({
type: _type,
url: options.url,
data: options.data,
dataType: options.dataType,
contentType: options.contentType,
headers: {"token":$.cookie('ftoken') },
success: function(result){
resolve(result);
},
error: function (error) {
reject(error);
}
});
})
}
}
})
\ No newline at end of file
......
var self = new Vue({
el:'#app',
data(){
return {
FloatRightTitle:'图片',
imgtabaledata:[
{
wjmc:'微信截图.png',
size:'5k',
scsj:'2020-8-06'
},
{
wjmc:'微信截图.png',
size:'5k',
scsj:'2020-8-06'
}
],
filetabeldata:[
{
wjmc:'test.txt',
size:'15k',
scsj:'2020-8-01'
},
{
wjmc:'违法结果.txt',
size:'10k',
scsj:'2020-8-01'
},
],
//所属区域list
distictList:[
{
distict:'港务区',
label:'港务区'
},
{
distict:'碑林区',
label:'碑林区'
},
{
distict:'莲湖区',
label:'莲湖区'
}
],
//进展阶段list
evdlveStageList:[
{
evdlveStage:'前期摸底',
label:'前期摸底'
},
{
evdlveStage:'启动拆迁',
label:'启动拆迁'
},
{
evdlveStage:'场地平整',
label:'场地平整'
},
{
evdlveStage:'开工建设',
label:'开工建设'
},
{
evdlveStage:'工程完工',
label:'工程完工'
},
{
evdlveStage:'分配回迁',
label:'分配回迁'
},
],
form:{
procjectName:'', //项目名称
procjectAddress:'', //项目地址
taskYear:'', //任务年份
dutyUnit:'', //责任单位
distict:'', //所属区域
evdlveStage:'', // 进展阶段
procjectOverview:'' ,//项目概况
progress:'',//进展情况
content:'',// 建设类容
},
fromsrcid:'',
}
},
created(){
let srcinfo = window.parent.document.getElementById('iframecontent').src;
this.fromsrcid =srcinfo.split('?')[1].split('=')[1]
},
mounted(){
this.getdetail()
},
methods:{
getdetail(){
axios.get(CONF_NEWGHSC_SERVERURL +'/wfsj/phqgz' ,{
params:{
id:this.fromsrcid
}
}).then(res=>{
if(res && res.data && res.data.code ==200){
this.form.procjectName = res.data.data.procjectName
this.form.procjectAddress = res.data.data.procjectAddress
this.form.taskYear = res.data.data.taskYear
this.form.dutyUnit = res.data.data.dutyUnit
this.form.distict = res.data.data.distict
this.form.evdlveStage = res.data.data.evdlveStage
this.form.procjectOverview = res.data.data.procjectOverview
this.form.progress = res.data.data.progress
this.form.content = res.data.data.content
}
})
},
//点击返回按钮事件
back(){
window.parent.document.getElementById('iframecontent').src = 'view/PHJG/WFSJ/xmgl/widget.html';
},
//保存数据
saveData(){
if( this.form.content==""&& this.form.procjectName =='' && this.form.procjectAddress=="" && this.form.taskYear==""&& this.form.dutyUnit==""&& this.form.distict=="" && this.form.evdlveStage==""&& this.form.procjectOverview==""&& this.form.progress==""){
this.$message.error('请先输入数据进行保存.... ')
return false
}
axios.post(CONF_NEWGHSC_SERVERURL +'/wfsj/phqgz',null ,{ data:this.form }).then(res=>{
if(res && res.data && res.data.code ==200){
this.$message.success('新增数据成功')
window.parent.document.getElementById('iframecontent').src = 'view/PHJG/WFSJ/xmgl/widget.html';
}
})
},
clicktitle(val){
this.FloatRightTitle = val
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }?`);
}
}
})
\ No newline at end of file
......@@ -84,6 +84,7 @@
.el-col-4{
margin-top:20px
}
/*将导出按钮注释掉 margin-left 从-40 变成了 -125*/
.div-search{
border: 1px solid #cac8c8;
border-radius: 2px;
......@@ -92,7 +93,7 @@
width: 280px;
height: 30px;
margin-left: 10px;
margin-left: -40px;
margin-left: -125px;
margin-top: 18px;
}
.div-search input{
......@@ -110,9 +111,9 @@
<el-row :gutter="20">
<el-col :span="4">
<!-- <button class="btns">查询</button>-->
<button class="btns" @click="openHandleJumpUrl('t1001_8a8610d86117e3b401611848a8690000')">添加</button>
<button class="btns" @click="AddNewPage">添加</button>
<button class="btns" @click="handlDelete">删除</button>
<button class="btns">导出</button>
<!-- <button class="btns">导出</button>-->
</el-col>
<el-col :span="6">
<div class="div-search">
......@@ -136,79 +137,44 @@
width="55">
</el-table-column>
<el-table-column
prop="xmmc"
prop="procjectName"
width="330"
label="项目名称"
align="center"
></el-table-column>
<el-table-column
prop="xmdz"
prop="procjectAddress"
label="项目地址"
align="center"
width="450"
>
</el-table-column>
<el-table-column
prop="rwnf"
prop="taskYear"
label="任务年份"
align="center"
width="100"
>
</el-table-column>
<el-table-column
prop="zrdw"
prop="dutyUnit"
label="责任单位"
align="center"
width="180"
width="300"
>
</el-table-column>
<el-table-column
prop="ssqy"
prop="distict"
label="所属区域"
align="center"
width="200"
>
</el-table-column>
<el-table-column
prop="zdmj"
label="占地面积"
align="center"
width="150"
>
</el-table-column>
<el-table-column
prop="jzmj"
label="建筑面积"
align="center"
width="100"
>
</el-table-column>
<el-table-column
prop="ds"
label="栋数"
align="center"
width="100"
>
</el-table-column>
<el-table-column
prop="hs"
label="户数"
align="center"
width="100"
>
</el-table-column>
<el-table-column
prop="hjrs"
label="惠及人数"
align="center"
width="100"
>
</el-table-column>
<el-table-column
prop="jzjd"
prop="evdlveStage"
label="进展阶段"
align="center"
width="100"
width="275"
>
</el-table-column>
</el-table>
......