123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956 |
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8" %>
- <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
- <%@ page isELIgnored="false" %>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
- <meta name="viewport"
- content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
- <title>项目周报</title>
- <jsp:include page="../common/common-meta-include.jsp"></jsp:include>
- <jsp:include page="../common/common-js-include.jsp"></jsp:include>
- <jsp:include page="../common/common-css-include.jsp"></jsp:include>
- <style>
- .layui-table-body::-webkit-scrollbar {
- width: 0px;
-
- }
- .pop_info .layui-icon {
- background: none;
- }
- .pop_info .layui-form-item {
- display: flex;
- }
- .pop_info .layui-input-block {
- width: unset;
- flex: 1;
- }
- .table_box .img_ls .img .layui-icon {
- font-size: 16px;
- }
- .table_box,
- .table_box .table_process {
- overflow: visible;
- }
- .layui-table-view .layui-table td > div>span {
-
-
- line-height: 22px !important;
- display: -webkit-box !important;
- -webkit-box-orient: vertical;
- overflow: hidden;
- text-overflow: ellipsis;
- -webkit-line-clamp: 2;
- }
- .table_box .img_ls{
- padding: 0;
- }
- .table_box .img_ls li{
- margin-left: 0;
- }
- .layui-table-body .layui-table-cell{
- padding: 5px !important;
- height: 64px !important;
- }
- .layui-table-header .layui-table-cell{
- height: 42px !important;
- }
- </style>
- <style>
- .hiddenParam,
- .hiddenParams {
- display: none;
- }
- </style>
- </head>
- <body>
- <div id="app"></div>
- <template id="template">
- <div>
- <div>
- <div class="layui-layout layui-layout-admin pd0">
-
- <div class="right_title">
- <div class="txt">项目周报<div class="top-breadcrumb"></div></div>
- <div class="layui-collapse search_form">
- <div class="layui-colla-item">
- <%-- <h2 class="layui-colla-title">筛选</h2>--%>
- <div class="layui-colla-content layui-show">
- <form class="layui-form">
- <div class="layui-row">
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
- <div class="layui-form-item">
- <label class="layui-form-label">项目名称</label>
- <div class="layui-input-block time_box">
- <input type="text" name="proName" placeholder="请输入" autocomplete="off"
- class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
- <div class="layui-form-item">
- <label class="layui-form-label ">项目属地</label>
- <div class="layui-input-block">
- <select name="jsdd">
- <option value="">请选择</option>
- <c:forEach items="${JSDD }" var="js">
- <option value="${js.code }">${js.title }</option>
- </c:forEach>
- </select>
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 hiddenParams">
- <div class="layui-form-item">
- <label class="layui-form-label">项目状态</label>
- <div class="layui-input-block">
- <select name="projStatus" lay-verify="required">
- <option value="0">所有</option>
- <option value="1">已开工</option>
- <option value="2">已停工</option>
- </select>
- </div>
- <span class="morePan" id="toggleMore">
- <a id="moreText">更多</a>
- <a id="lessText">收起</a>
- </span>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 hiddenParam">
- <div class="layui-form-item">
- <label class="layui-form-label">周报期间</label>
- <div class="layui-input-block time_box">
- <input type="text" id="startTime" name="title" placeholder="请选择开始时间"
- autocomplete="off" class="layui-input" style="width: 200px;">
- <span class="split_txt">至</span>
- <input type="text" id="endTime" name="title" placeholder="请选择结束时间"
- autocomplete="off" class="layui-input" style="width: 200px;">
- </div>
- </div>
- </div>
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 hiddenParam">
- <div class="layui-form-item">
- <label class="layui-form-label">周报状态</label>
- <div class="layui-input-block">
- <select name="isDo">
- <option value="0">所有</option>
- <option value="1">已做</option>
- <option value="2">未做</option>
- </select>
- </div>
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-col-xs6 layui-col-sm6 layui-col-md5">
- <div class="layui-form-item">
- <button type="button" class="layui-btn layui-btn-normal" @click="onSearch">
- 查询
- </button>
- <button type="button" class="layui-btn layui-btn-export" @click="exportExcel">导出</button>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- <div class="table_box" style="padding-top: 0;">
- <div class="table_process" style="position: relative">
- <table id="table1" lay-filter="test"></table>
- <div class="pagination-box" id="pagination"></div>
- </div>
- </div>
- </div>
- <div style="height: 20px;"></div>
- </div>
- <div class="pop_info" id="popInfo">
- <div class="pop_con_form" style="width:100%;padding:0 40px;box-sizing:border-box;">
- <form class="layui-form">
- <div class="layui-form-item">
- <label class="layui-form-label" style="width:95px;"><span class="red">*</span>周报期间</label>
- <div class="layui-input-block">
- <input type="text" name="kjMonth" disabled class="layui-input"
- style="background-color: #F6F6F6; color: #ccc;">
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width:95px;"><span class="red">*</span>项目名称</label>
- <div class="layui-input-block">
- <input type="text" name="projName" disabled class="layui-input"
- style="background-color: #F6F6F6; color: #ccc;">
- </div>
- </div>
-
- {{item.beginDate}}{{item.endDate}}
- {{currPlan[currPlanIndex-1].content}}
- <div class="layui-form-item">
- <label class="layui-form-label" style="width:95px;"><span class="red">*</span>进度比例(%)</label>
- <div class="layui-input-block">
- <input type="number" name="numBl" min="0" max="100" placeholder="请输入比例范围在0-100 单位%"
- class="layui-input">
- </div>
- </div>
-
- <div class="layui-form-item">
- <label class="layui-form-label" style="width:95px;"><span class="red">*</span>项目进展情况</label>
- <div class="layui-input-block">
- <textarea placeholder="请输入内容" style="height: 80px" name="ybContent" class="layui-textarea">{{yuebaoInfo.content}}</textarea>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width:95px;"><span class="red"></span>项目延期原因</label>
- <div class="layui-input-block">
- <textarea placeholder="请输入内容" style="height: 80px" name="ybReason" class="layui-textarea">{{yuebaoInfo.reason}}</textarea>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="table_box">
- <div class="layui-form-label required" style="width:95px;">附件信息</div>
- <ul class="img_ls">
- <li v-for="(item, index) in imgLs" :key="index">
- <div class="img" id="attachDiv" :title="showTitle(item)">
- <%-- //:layer-src="picShow1(item.fileAddre)"--%>
- <img :id="item.fileAddre" :src="picShow(item.fileAddre,item.fileType)"
- @click="showImage(item.fileAddre,item.fileType, item.createTime)"
- :alt="item.fileName"/>
- <div class="download_icon" @click="download(item.fileAddre,item.fileName)"></div>
- <i class="layui-icon layui-icon-close-fill" @click="delPic(index)"></i>
- </div>
- {{item.fileName}}
- </li>
- <li class="add" id="addPic">
- <div class="bg"><i class="layui-icon layui-icon-add-circle"></i></div>
- </li>
- </ul>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </template>
- <script>
- new Vue({
- el: "#app",
- template: "#template",
- data: {
- winH: 0,
- collapse: false,
- tabActive: 1,
- startMonth: "",
- endMonth: "",
- startAmt: "",
- endAmt: "",
- currPlan: [],
- yuebaoInfo: {},
- active: 7,
-
- currWeekStart: "",
- currWeekEnd: "",
- pageNo: 1,
- orderType: "",
- pageSize: 20,
- currPlanIndex: null,
- opinions: [],
- imgLs: [],
- imgLsDel: []
- },
- mounted() {
- this.init()
- },
- methods: {
- init() {
- this.winH = document.body.clientHeight
- const {laydate, table, laypage, util} = layui;
- var self = this;
- var beginWeek = self.genTime(-1);
- self.startMonth = beginWeek.split(" ~ ")[0];
- var endWeek = self.genTime(0);
- self.endMonth = endWeek.split(" ~ ")[0];
- App.common.utils.uploadFile('#addPic', App.getUrl('/static/file/uploadFgw'), {
- acceptMime: 'image/png,video/mp4,image/jpg,image/jpeg,application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
- , exts: 'png|jpg|jpeg|pdf|xls|xlsx|doc|docx|mp4'
- }, null, function (res) {
- for (var i = 0; i < res.resultList.length; i++) {
- var pic = {};
- pic.fileAddre = res.resultList[i].id;
- pic.fileName = res.resultList[i].name;
- pic.fileType = res.resultList[i].ftype;
- pic.logicDeleteFlag = 0;
- self.imgLs.push(pic);
- }
- });
- laydate.render({
- elem: '#startTime',
- format: "yyyy-MM-dd ~ yyyy-MM-dd",
- value: beginWeek,
- btns: ['clear', 'confirm'],
- done: function (value) {
- var start = self.setTimeData(value, $("#startTime"));
- if (start != "") {
- self.startMonth = start.split(" ~ ")[0];
- } else {
- self.startMonth = "";
- }
- }
- });
- laydate.render({
- elem: '#endTime',
- format: "yyyy-MM-dd ~ yyyy-MM-dd",
- value: endWeek,
- btns: ['clear', 'confirm'],
- done: function (value) {
- var end = self.setTimeData(value, $("#endTime"));
- if (end != "") {
- self.endMonth = end.split(" ~ ")[0];
- } else {
- self.endMonth = "";
- }
- }
- });
- layui.form.on("select(subPlanId)", function (data) {
- if (data.value == "") {
- self.currPlanIndex = null;
- } else {
- self.currPlanIndex = $("#subPlanId").prop("selectedIndex");
- }
- setTimeout(() => {
- layui.form.render();
- }, 500);
- });
- this.onSearch()
- window.detail = this.detail;
- window.onEdit = this.onEdit;
- window.showImage = this.showImage;
- var check = "${isSfgw}";
- if (check !== "false") {
- this.getData();
- } else {
- self.loadTable([]);
- }
- window.addEventListener('message', this.receiveMessage, false);
- window.parent.postMessage('init loaded')
- $('.hiddenParams').show();
- $('#lessText').hide();
- },
- showTitle(obj) {
- return "附件名称:" + obj.fileName;
- },
- delPic(index) {
- this.imgLs[index].logicDeleteFlag = 1;
- this.imgLsDel.push(this.imgLs[index]);
- this.imgLs.splice(index, 1);
- },
- download(fileId, fileName) {
- var url = "static/file/download/" + fileId;
- App.common.utils.downFile(App.getUrl(url));
- },
- showImage: function (fileId, type, createTime) {
- var imageUrl = "";
- var realUrl = "";
- var mp4Url = "";
- if (type == 8) {
- imageUrl = "${domain}/static/file/" + fileId + "/showfileFgw";
- } else if (type == null || type == "") {
- } else if (type == 101 || type == 102 || type == 103 || type == 104 || type == 105) {
- imageUrl = "${domain}/static/file/" + fileId + "/showfileFgw";
- } else if (type == 4 || type == 5) {
- imageUrl = "${WebSite.asset}/css/images/excel.png";
- realUrl = "/static/file/download/" + fileId + "";
- } else if (type == 2 || type == 3) {
- imageUrl = "${WebSite.asset}/css/images/word.png";
- realUrl = "/static/file/download/" + fileId + "";
- } else {
- imageUrl = '<video width="100%" height="100%" controls="controls" autobuffer="autobuffer" autoplay="autoplay" loop="loop"><source src="${domain}/static/file/' + fileId + '/showfile" type="video/mp4"></source></video>';
- }
- if (imageUrl) {
- if (type == 2 || type == 3 || type == 4 || type == 5) {
- window.location.href = App.getUrl(realUrl);
- } else if (type == 203) {
- layer.open({
- type: 1,
- title: '播放视频',
- content: imageUrl,
- offset: 'auto',
- area: ['60%', '60%'],
- shade: 0.5,
- shadeClose: true
- });
- } else {
- if (type == 8) {
-
-
-
-
-
-
-
- window.open(imageUrl)
- } else {
- App.common.utils.imageWater(imageUrl, createTime, function (image) {
- layer.photos({
- photos: {
- "title": "",
- "id": fileId,
- "start": 0,
- "data": [
- {
- "alt": "",
- "pid": fileId,
- "src": image,
- "thumb": imageUrl
- }
- ]
- },
- anim: 5
- });
- });
- }
- }
- }
- },
- picShow(fileId, type) {
- var tempId = "#" + fileId;
- if (type == 8) {
- return "${WebSite.asset}/css/images/pdf.png";
- } else if (type == null || type == "") {
- } else if (type == 101 || type == 102 || type == 103 || type == 104 || type == 105) {
- return "${domain}/static/file/" + fileId + "/showfileFgw";
- } else if (type == 4 || type == 5) {
- return "${WebSite.asset}/css/images/excel.png";
- } else if (type == 2 || type == 3) {
- return "${WebSite.asset}/css/images/word.png";
- } else if (type == 203) {
- return "${WebSite.asset}/css/images/video.png";
- }
- },
- picShow1(fileId) {
- return "${domain}/static/file/" + fileId + "/showfileFgw";
- },
- setTimeData(value, ele) {
- if (value != "" && value.length > 0) {
- let today = new Date(value.substring(0, 10));
- let weekday = today.getDay();
- let monday;
- let sunday;
- if (weekday == 0) {
- monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime());
- } else {
- monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime());
- }
- if (weekday == 0) {
- sunday = today;
- } else {
- sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime());
- }
- let month = monday.getMonth() + 1;
- if (month < 10) {
- month = "0" + month;
- }
- let day1 = monday.getDate();
- if (day1 < 10) {
- day1 = "0" + day1;
- }
- let start = "" + monday.getFullYear() + "-" + month + "-" + day1;
- let month2 = sunday.getMonth() + 1;
- if (month2 < 10) {
- month2 = "0" + month2;
- }
- let day2 = sunday.getDate();
- if (day2 < 10) {
- day2 = "0" + day2;
- }
- let end = "" + sunday.getFullYear() + "-" + month2 + "-" + day2;
- ele.val(start + " ~ " + end);
- return start + " ~ " + end;
- } else {
- ele.val('');
- }
- return "";
- },
- genTime: function (weekNum) {
- if (!weekNum) {
- weekNum = 0;
- }
- let today = new Date().addWeeks(weekNum);
- let weekday = today.getDay();
- let monday;
- let sunday;
- if (weekday == 0) {
- monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime());
- } else {
- monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime());
- }
- if (weekday == 0) {
- sunday = today;
- } else {
- sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime());
- }
- let month = monday.getMonth() + 1;
- if (month < 10) {
- month = "0" + month;
- }
- let day1 = monday.getDate();
- if (day1 < 10) {
- day1 = "0" + day1;
- }
- let start = "" + monday.getFullYear() + "-" + month + "-" + day1;
- let month2 = sunday.getMonth() + 1;
- if (month2 < 10) {
- month2 = "0" + month2;
- }
- let day2 = sunday.getDate();
- if (day2 < 10) {
- day2 = "0" + day2;
- }
- let end = "" + sunday.getFullYear() + "-" + month2 + "-" + day2;
- return start + " ~ " + end;
- },
- loadTable(data) {
- var self = this;
- layui.table.render({
- elem: '#table1',
- even: true,
- autoSort: false,
- limit: data.length,
- fixed:true,
- cols: [[
- {type: 'numbers', fixed: 'left', align: 'center', width: 50, title: '序号'},
- {
- field: 'sub_name', title: '项目名称', minWidth: 310, fixed: 'left', templet: function (row) {
- if (row.sub_name != null) {
- return "<a title=" + row.sub_name + ">" + row.sub_name + "</a>";
- }
- return "";
- }
- },
- {field: 'amt', title: '总投资', minWidth: 100, templet : function(row){
- if(row.amt){
- return '<span>'+row.amt+'万元</span>';
- }else{
- return "";
- }
- }},
- {
- field: 'kj_month', title: '周报期间', minWidth: 200, templet: function (row) {
- if (row.kj_month != null) {
- return '<span title="' + row.kj_month + '">' + row.kj_month + '</span>';
- }
- return "";
- }
- },
- {field: 'unit_name', title: '项目单位',width: 200,templet: function(row) {
- if(row.unit_name != null) {
- return '<span title="' + row.unit_name + '">' + row.unit_name + '</span>';
- }
- return "";
- }},
- {
- field: 'content', title: '项目进展情况', minWidth: 320, templet: function (row) {
- if (row.content != null) {
- return '<span title="' + row.content + '">' + row.content + '</span>';
- }else{
- return "";
- }
- }
- },
- {
- field: 'num_bl', title: '完成比例', sort: true, minWidth: 100, templet: function (row) {
- if (row.num_bl != null && row.num_bl != '') {
- return row.num_bl + "%";
- } else {
- return "";
- }
- }
- },
- {
- field: 'reason', title: '项目延期原因', minWidth: 150, templet: function (row) {
- if (row.reason != null) {
- return '<span title="' + row.reason + '">' + row.reason + '</span>';
- }
- return "";
- }
- },
- {
- title: '操作', width: 130,type:'string', align: 'center', fixed: 'right', templet: function (row) {
- if (row.unit_id === '${unitId}') {
- return '<div class="toolBar"><span onClick=\'onEdit(' + JSON.stringify(row) + ')\'>项目信息</span></div>';
- } else {
- return '<div class="toolBar"><span onClick=\'detail(' + JSON.stringify(row) + ')\'>项目信息</span></div>';
- }
- }
- }
- ]],
- data: data,
- done: function (res, curr, count) {
-
- res.data.forEach(function(item, index) {
-
-
-
-
- $(".layui-table-body tr").resize(function () {
- $(".layui-table-body tr").each(function (index, val) {
- $($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
- });
- });
-
- $(".layui-table-body tr").each(function (index, val) {
- $($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
- });
- });
- }
- });
- layui.table.reload("table1", {
- initSort: {
- field: 'num_bl',
- type: self.orderType
- }
- })
- layui.table.on("sort(test)", function (obj) {
- self.orderType = obj.type;
- self.getData();
- });
- },
- getData() {
- var self = this;
- if (this.startMonth == "") {
- layui.layer.msg("必须选择周报期间");
- return;
- }
- if (this.endMonth == "") {
- layui.layer.msg("必须选择周报期间");
- return;
- }
-
- var param = {
- varkind:$("[name='projStatus']").val(),
- varbegin:self.startMonth,
- varend:self.endMonth,
- vardesc:$("[name='proName']").val(),
- varstatus:$("[name='isDo']").val(),
- varjsdd: $("[name='jsdd']").val(),
- pageNo: self.pageNo,
- pageSize: self.pageSize,
- outtotal: 1,
- };
- App.postJson("/api/weekReport/queryReport", param, function (res) {
- if (res.success) {
- console.log(res.data);
- self.loadTable(res.rows);
- self.loadPage(res.total);
- }
- });
- },
- loadPage: function (totalCount) {
- var self = this;
- layui.laypage.render({
- elem: 'pagination',
- count: totalCount,
- curr: self.pageNo,
- limit: self.pageSize,
- layout: ['count', 'prev', 'page', 'next', 'skip'],
- jump: function (obj, first) {
-
- if (!first) {
- self.pageNo = obj.curr;
- self.getData();
- }
- }
- });
- },
- exportExcel: function () {
- if (this.startMonth == "") {
- layui.layer.msg("必须选择周报期间");
- return;
- }
- if (this.endMonth == "") {
- layui.layer.msg("必须选择周报期间");
- return;
- }
- if (this.startAmt=="" || this.startAmt==undefined){
- startAmt=""
- }else {
- startAmt=this.startAmt
- }
- if (this.endAmt=="" || this.endAmt==undefined){
- endAmt=""
- }else {
- endAmt=this.endAmt
- }
-
- var param = {
- varkind:$("[name='projStatus']").val(),
- varbegin:"2024-10-21",
- varend:"2024-10-21",
- vardesc:$("[name='proName']").val(),
- varstatus:$("[name='isDo']").val(),
- varjsdd: $("[name='jsdd']").val(),
- varlogin:"admin",
- varpage: 1,
- varnum: 10000,
- outtotal: 1,
- };
- App.common.utils.downFile(App.getUrl("/weekReport/exportExcel"), "GET", param, "项目周报.xlsx", "项目周报导出失败");
-
- },
- detail: function (row) {
- $("#popInfo").find("input").attr("readOnly", true);
- $("#popInfo").find("select").attr("disabled", "disabled");
- $("#popInfo").find("textarea").attr("readOnly", true);
- this.setEditPlanValue(row);
- this.setFileValue(row);
- layer.open({
- type: 1,
- title: '周报信息',
- skin: 'pop_info_class',
- id: 'layerPop',
- content: $('#popInfo'),
- area: ['700px', '630px']
- })
- },
- setEditPlanValue: function (row) {
- var self = this;
- this.yuebaoInfo.subId = row.sub_id;
-
- this.yuebaoInfo.subName = row.sub_name;
- if (row.content != undefined) {
- this.yuebaoInfo.content = row.content;
- } else {
- this.yuebaoInfo.content = "";
- }
- if (row.reason != undefined) {
- this.yuebaoInfo.reason = row.reason;
- } else {
- this.yuebaoInfo.reason = "";
- }
- if (row.num_bl == undefined) {
- this.yuebaoInfo.numBl = "";
- } else {
- this.yuebaoInfo.numBl = row.num_bl;
- }
-
-
- this.setValueEdit(row);
- },
- setFileValue: function (row) {
- var self = this;
- var subId = row.sub_id;
- var year = row.year;
- var beginDate = row.begin_date;
- App.postJson("/api/weekReport/getByInfoFgw", {
- subId: subId,
- year: year,
- startDate: beginDate
- }, function (res) {
- setTimeout(() => {
- self.imgLs = res.data || [];
- layui.form.render();
- }, 300);
- });
- },
- onEdit(row) {
- var self = this;
- const {layer} = layui
- const $ = layui.jquery;
- $("#popInfo").find("input").attr("readOnly", false);
- $("#popInfo").find("select").attr("disabled", false);
- $("#popInfo").find("textarea").attr("readOnly", false);
- if (row.status == '1') {
- layer.msg("该项目未开工,无需填写周报!");
- return;
- }
- if (row.status == '9') {
- layer.msg("该项目已竣工,无需填写周报!");
- return;
- }
- this.setEditPlanValue(row);
- this.setFileValue(row);
- layer.open({
- type: 1,
- title: '周报信息',
- skin: 'pop_info_class',
- id: 'layerPop',
- content: $('#popInfo'),
- area: ['700px', '630px'],
- btn: ['取消', '提交'],
- btnAlign: 'c',
- yes() {
- layer.closeAll();
- },
- btn2() {
- self.yuebaoInfo.content = $("[name='ybContent']").val();
- self.yuebaoInfo.reason = $("[name='ybReason']").val();
-
- self.yuebaoInfo.numBl = $("[name='numBl']").val();
-
- self.yuebaoInfo.year = row.year;
- self.yuebaoInfo.beginDate = row.kj_month.split("至")[0];
- self.yuebaoInfo.endDate = row.kj_month.split("至")[1];
- for (var i = 0; i < self.imgLsDel.length; i++) {
- self.imgLs.push(self.imgLsDel[i]);
- }
- self.yuebaoInfo.listFile = self.imgLs;
-
-
- if (!self.isNum(self.yuebaoInfo.numBl) || Number(self.yuebaoInfo.numBl) < 0 || Number(self.yuebaoInfo.numBl) > 100) {
- App.msg.warn("请输入0到100的进度比例");
- return false;
- }
- if (self.yuebaoInfo.content == "") {
- layer.msg("请先填写周报内容");
- return false;
- } else {
-
-
- App.postJson("/api/weekReport/saveReport", self.yuebaoInfo, function (res) {
- if (res.success) {
- layer.msg("保存成功");
- self.getData();
- }
- });
- }
- },
- cancel() {
- layer.closeAll();
- }
- })
- },
- isNum(num) {
- var regPos = /^\d+(\.\d+)?$/;
- if (regPos.test(num)) {
- return true;
- } else {
- return false;
- }
- },
- setValueEdit(row) {
- $("[name='kjMonth']").val(row.kj_month);
- $("[name='projName']").val(row.sub_name);
- $("[name='ybContent']").val(row.content);
-
- $("[name='numBl']").val(row.num_bl);
- },
- onSearch() {
- this.pageNo = 1;
- this.getData();
- },
- receiveMessage (e) {
- console.log('cb receiveMessage: ', e.data)
- if (e.data.topBreadcrumb) {
- $(".top-breadcrumb").html(e.data.topBreadcrumb)
- }
- }
- }
- })
- $(document).ready(function() {
- var showMoreFlag = false;
- $('#toggleMore').click(function() {
-
- showMoreFlag = !showMoreFlag;
-
- if (showMoreFlag) {
- $('#moreText').hide();
- $('.hiddenParam').show();
- $('#lessText').show();
- } else {
- $('#lessText').hide();
- $('.hiddenParam').hide();
- $('#moreText').show();
- }
- });
- });
- </script>
- </body>
- </html>
|