| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369 |
- <template>
- <el-container class="monthReport">
- <el-card class="box-card">
- <!-- <el-button type="primary" icon="el-icon-back" @click="back" style="float:left;margin-right: 10px;">返回</el-button>-->
- <h3 class="title_monthReport" style="font-size: 20px !important;font-weight: bold !important;color: black !important;">
- 详细检查计划
- </h3>
- <el-form :inline="true" size="mini" class="demo-form-inline" label-width="130px">
- <!-- <el-form-item label="检查计划事项">-->
- <!-- <el-select-->
- <!-- filterable-->
- <!-- v-model="searchForm.planId"-->
- <!-- @change="changeYearSearch"-->
- <!-- placeholder="请选择检查计划事项">-->
- <!-- <el-option-->
- <!-- v-for="item in yearPlanDepList"-->
- <!-- :key="item.id"-->
- <!-- :label="item.chkName"-->
- <!-- :value="item.id">-->
- <!-- </el-option>-->
- <!-- </el-select>-->
- <!-- </el-form-item>-->
- <el-form-item label="牵头处室">
- <el-select v-model="searchForm.leadDepId" placeholder="牵头单位" clearable>
- <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="年度">
- <el-date-picker
- v-model="searchForm.yearStr"
- type="year"
- value-format="yyyy"
- :clearable="false"
- placeholder="选择年">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="月份">
- <el-select v-model="searchForm.monthStr" clearable placeholder="选择月">
- <el-option v-for="(item,index) in monthList" :label="item" :value="item"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="详细检查计划名称">
- <el-input v-model="searchForm.nm" placeholder="详细计划名称" clearable></el-input>
- </el-form-item>
- <el-form-item label="是否重复">
- <el-select v-model="searchForm.isItRedundant" clearable placeholder="是否重复">
- <el-option v-for="(item,index) in isRList" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="工作形式">
- <el-select v-model="searchForm.onlineChk" placeholder="工作形式" clearable>
- <el-option v-for="item in chkFormType" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <div style="text-align: right;float:right;padding-top: 10px;padding-bottom: 10px;">
- <el-button type="primary" size="mini" @click="searchBtn">查询</el-button>
- <el-button type="success" size="mini" @click="addBtn" v-if="(isEdit && isCityCountry) || !isCityCountry">添加</el-button>
- <el-button type="primary" @click="downloadPlan">导出详细检查计划</el-button>
- <span v-if="isJdc || (isEdit && isCityCountry)" style="color:red;font-size: 10px;">{{curTimeTip}}</span>
- </div>
- </el-form>
- <div>
- <el-table
- border
- ref="multipleTable"
- :height="tableHeight"
- :data="tableData"
- tooltip-effect="dark"
- style="width: 100%"
- v-loading="loading">
- <el-table-column align="center" type="index" label="序号" width="80">
- <template slot-scope="scope">{{ scope.$index + 1}}</template>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="180"
- prop="chkName"
- label="检查计划事项"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="180"
- prop="nm"
- label="详细检查计划名称"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="dpName"
- label="牵头处室"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="planJoinDpRlNames"
- label="参加处室(单位)"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="planDpRlNames"
- label="检查实施处室(单位)"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="dAdName"
- label="检查区域"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop=""
- label="检查时间"
- show-overflow-tooltip
- >
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="stTm"
- :formatter="formatDate"
- label="开始"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="120"
- prop="enTm"
- :formatter="formatDate"
- label="结束"
- show-overflow-tooltip
- ></el-table-column>
- </el-table-column>
- <!-- <el-table-column-->
- <!-- header-align="center"-->
- <!-- align="center"-->
- <!-- min-width="120"-->
- <!-- prop="groupName"-->
- <!-- label="检查组长"-->
- <!-- show-overflow-tooltip-->
- <!-- ></el-table-column>-->
- <el-table-column
- header-align="center"
- align="center"
- min-width="80"
- prop="chkPrjSize"
- label="计划检查项目数量"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="100"
- prop="chkType"
- label="开展方式"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="150"
- prop="onlineChk"
- label="工作形式"
- show-overflow-tooltip>
- <template slot-scope="scope">
- {{scope.row.onlineChk=='1'?'使用监督系统开展检查工作':scope.row.onlineChk=='3'?'使用稽察系统检查':'线下开展检查工作'}}
- </template>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="pTypeNames"
- label="系统督查类别"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="itRedundant"
- label="是否重复"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- {{scope.row.itRedundant?'是':'否'}}
- </template>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="chkContent"
- label="检查内容"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="note"
- label="备注"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- align="center"
- label="操作"
- min-width="300"
- fixed="right">
- <template slot-scope="scope">
- <el-button type="success" size="mini" @click.stop="edit(scope.row)" :disabled="!(scope.row.state=='1' && ((isEdit && isCityCountry) || !isCityCountry))">编辑</el-button>
- <el-button type="danger" size="mini" @click.stop="deleteData(scope.row.id)" :disabled="!(scope.row.state=='1' && ((isEdit && isCityCountry) || !isCityCountry))">删除</el-button>
- <!-- <el-button type="primary" size="mini" v-if="scope.row.onlineChk=='1'" @click.stop="detailGroup(scope.row)">详细分组安排</el-button>-->
- </template>
- </el-table-column>
- </el-table>
- <!-- <el-pagination-->
- <!-- style="margin: 10px auto"-->
- <!-- background-->
- <!-- :pager-count="5"-->
- <!-- :current-page="pageNum"-->
- <!-- :page-size="pageSize"-->
- <!-- :page-sizes="[10, 20, 30, 40, 50, 100]"-->
- <!-- layout="sizes, total, prev, pager, next"-->
- <!-- :total="total"-->
- <!-- @current-change="handleCurrentChange"-->
- <!-- @size-change="handleSizeChange"-->
- <!-- ></el-pagination>-->
- </div>
- <el-dialog
- class="outerDialog custom_dialog"
- :title="'督查检查计划详细'"
- width="40%"
- @close="closeDetailDialog"
- :visible.sync="detailDialogVisible">
- <div style="width: 100%;height:100%;overflow: auto;">
- <table>
- <tr><td>检查计划事项名称</td><td>{{detailObj.yearChkName}}</td></tr>
- <tr><td>年度检查类别</td><td>{{detailObj.yearChkType}}</td></tr>
- <tr><td>组织检查处室</td><td>{{detailObj.organDep}}</td></tr>
- <tr><td>年月</td><td>{{detailObj.chkMonth}}</td></tr>
- <tr><td>检查承担单位</td><td>{{detailObj.chkDep}}</td></tr>
- <tr><td>检查组</td><td>{{detailObj.chkGrp}}</td></tr>
- <tr><td>事项内容</td><td>{{detailObj.chkTitle}}</td></tr>
- <tr><td>拟检查开始时间</td><td>{{detailObj.planSttm+'~'+detailObj.planEntm}}</td></tr>
- <tr><td>是否到市水利(水务)局</td><td>{{detailObj.leadDep}}</td></tr>
- <tr v-if="detailObj.leadDep=='是'"><td>水利(水务)局名称</td><td>{{detailObj.joinDep}}</td></tr>
- <tr><td>行政区划市</td><td>{{detailObj.chkCity}}</td></tr>
- <tr><td>区、县(市)</td><td>{{detailObj.chkCountry}}</td></tr>
- <tr><td>项目数量</td><td>{{detailObj.chkSize}}</td></tr>
- <tr><td>开展方式</td><td>{{detailObj.chkType}}</td></tr>
- <tr><td>联络人</td><td>{{detailObj.chkPers}}</td></tr>
- <tr><td>联系方式</td><td>{{detailObj.chkPersTel}}</td></tr>
- <tr><td>备注</td><td>{{detailObj.note}}</td></tr>
- </table>
- </div>
- </el-dialog>
- <el-dialog
- class="outerDialog custom_dialog"
- :title="dialogT+'督查检查计划'"
- width="50%"
- @close="closeAddDialog"
- v-if="addDialogVisible"
- :visible.sync="addDialogVisible">
- <div style="width: 100%;height:100%;">
- <el-form ref="addForm" label-width="230px">
- <el-form-item label="年度">
- <el-date-picker
- v-model="addForm.chkYear"
- type="year"
- @change="changeDate"
- format="yyyy"
- value-format="yyyy"
- placeholder="选择年度">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="检查计划事项" required>
- <el-select
- filterable
- v-model="addForm.planId"
- @change="changeYearSelect"
- placeholder="请选择检查计划事项">
- <el-option
- v-for="item in yearPlanDepList"
- :key="item.id"
- :label="item.chkName"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否使用监督系统开展检查工作" required>
- <el-select v-model="addForm.onlineChk" placeholder="是否使用监督系统开展检查工作">
- <el-option v-for="item in chkFormArr" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="系统督查类别" v-if="addForm.onlineChk=='1'" required>
- <el-select v-model="addForm.ptypIds" filterable placeholder="请选择督查类型" style="width: 100%;" multiple collapse-tags>
- <el-option
- v-for="item in objTypeList"
- :key="item.inspType"
- :label="item.inspName"
- :value="item.inspType">
- </el-option>
- </el-select>
- </el-form-item>
- <!-- <el-form-item label="检查计划事项">-->
- <!-- <el-input v-model="objParent.chkName" readonly placeholder="请输入检查计划事项"></el-input>-->
- <!-- </el-form-item>-->
- <el-form-item label="年度计划开展时间">
- <el-input v-model="dateRStr" readonly placeholder="年度计划开展时间"></el-input>
- </el-form-item>
- <el-form-item label="牵头处室">
- <el-select v-model="objParent.leadDepId" :disabled="true" placeholder="牵头单位">
- <el-option v-for="item in DepList" :label="item.dpName" :value="item.id"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="参加处室(单位)">
- <el-input type="textarea" v-model="objParent.joinDep" placeholder="参加处室(单位)"></el-input>
- <!-- <el-select v-model="objParent.planDpRlIds" :disabled="true" placeholder="参加处室(单位)">-->
- <!-- <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>-->
- <!-- </el-select>-->
- </el-form-item>
- <el-form-item label="详细检查计划名称" required>
- <el-input v-model="addForm.nm" placeholder="请输入详细检查计划名称,例如:4月质量与安全检查(潍坊、临沂)"></el-input>
- </el-form-item>
- <el-form-item label="检查实施处室(单位)" required>
- <div style="width: 100%;display: flex;">
- <el-select v-model="addForm.planDpRlIds" placeholder="检查实施处室(单位)" multiple collapse-tags>
- <el-option v-for="item in joinDepList" :label="item.dpName" :value="item.id"></el-option>
- </el-select>
- <el-input v-model="addForm.planDpRlNames" placeholder="请输入检查实施处室(单位),多个用英文逗号隔开,不在当前列表内的处室"></el-input>
- </div>
- </el-form-item>
- <el-form-item label="检查时间" required>
- <div style="width: 100%;">
- <el-date-picker
- v-model="dateRange"
- :disabled="!addForm.planId"
- type="daterange"
- :pickerOptions="pickerOptions"
- @change="changeDateRange"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期">
- </el-date-picker>
- <span style="color:red;text-indent: 10px;font-size: 12px">检查时间一周时间为周日至周六</span>
- </div>
- </el-form-item>
- <el-form-item label="检查区域" required v-if="dateRange && dateRange.length>0">
- <addvSelectMul key="city" ref="city" :year="addForm.chkYear" :planId="addForm.planId" :sttm="dateRange[0]" @changeAddv="changeAddv"></addvSelectMul>
- </el-form-item>
- <!-- <el-form-item label="检查组长" required>-->
- <!-- <el-input v-model="addForm.groupName" placeholder="请输入检查组长"></el-input>-->
- <!-- </el-form-item>-->
- <el-form-item label="计划检查项目数量">
- <el-input-number v-model="addForm.chkPrjSize" :min="0" label="请输入项目数量"></el-input-number>
- </el-form-item>
- <el-form-item label="开展方式">
- <el-input type="textarea" v-model="addForm.chkType" placeholder="请输入开展方式"></el-input>
- </el-form-item>
- <el-form-item label="检查内容">
- <el-input type="textarea" v-model="addForm.chkContent" placeholder="请输入检查内容"></el-input>
- </el-form-item>
- <el-form-item label="备注" :required="isRequired">
- <el-input type="textarea" v-model="addForm.note" placeholder="请输入备注"></el-input>
- </el-form-item>
- <el-form-item label="检查方案" v-show="dialogT=='添加'">
- <el-upload
- class="upload-demo"
- multiple
- ref="uploadWay"
- :auto-upload="dialogT=='编辑'"
- :show-file-list="true"
- :on-success="uploadSuccess"
- :on-change="changeFileList"
- :on-remove="removeFileList"
- :on-error="upError"
- :headers="header"
- :action="`/pdcApi/file/insert?bizId=${this.bizId}`">
- <el-button size="small" type="primary">点击上传检查方案</el-button>
- </el-upload>
- </el-form-item>
- <el-form-item label="检查方案" v-show="dialogT=='编辑'">
- <el-button size="small" type="primary" @click="editCheckWay">点击上传检查方案</el-button>
- </el-form-item>
- <el-form-item style="text-align: center">
- <el-button type="primary" @click="addSubmit" style="margin-bottom: 30px;">确定</el-button>
- </el-form-item>
- </el-form>
- </div>
- </el-dialog>
- <el-dialog
- class="outerDialog custom_dialog"
- :title="'关联年度计划'"
- width="30%"
- @close="closeYearDialog"
- v-if="yearDialogVisible"
- :visible.sync="yearDialogVisible">
- <div style="width: 100%;height:100%;">
- <el-form ref="yearForm" label-width="80px">
- <el-form-item label="年度计划">
- <el-select v-model="yearId" filterable placeholder="请选择年度计划" style="width: 100%;">
- <el-option
- v-for="item in planYeatList"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item style="text-align: center">
- <el-button type="primary" @click="updateData" style="margin-bottom: 30px;">确定</el-button>
- </el-form-item>
- </el-form>
- </div>
- </el-dialog>
- <el-dialog
- class="outerDialog custom_dialog"
- :title="'重复提示'"
- width="50%"
- :visible.sync="isMulVisible">
- <div style="width: 100%;max-height:500px;overflow: auto;">
- <span style="font-size: 14px;color:#333;">当前表格数据:</span>
- <el-table
- :data="curList"
- border
- style="width: 100%">
- <el-table-column
- prop="nm"
- show-overflow-tooltip
- label="详细检查计划名称"
- min-width="180">
- </el-table-column>
- <el-table-column
- prop="dAdName"
- show-overflow-tooltip
- label="检查区域"
- min-width="180">
- </el-table-column>
- <el-table-column
- prop="stTm"
- min-width="100"
- :formatter="formatDate"
- show-overflow-tooltip
- label="检查开始时间">
- </el-table-column>
- <el-table-column
- prop="enTm"
- min-width="100"
- :formatter="formatDate"
- show-overflow-tooltip
- label="检查结束时间">
- </el-table-column>
- <el-table-column
- prop="chkContent"
- min-width="200"
- show-overflow-tooltip
- label="检查内容">
- </el-table-column>
- </el-table>
- <p style="font-size: 14px;color:red;padding: 5px;">1.按照“一个事项,针对一个设区市只成立一个检查组,一个月至多检查一次”和“一周内到同一个设区市的督查检查组不能超过一个”的原则组织实施。(当前检查日期和检查区域重复,请调整检查时间或地点)</p>
- <p style="font-size: 14px;color:red;padding: 5px;">2.如必要去检查,请联系以下检查组沟通,请他删除计划后再添加本计划</p>
- <p style="font-size: 14px;color:red;padding: 5px;">3.若以上两条无法满足,请联系厅办公室和监督处审核,并提供必要去的理由</p>
- <el-table
- :data="tipList"
- border
- style="width: 100%">
- <el-table-column
- prop="nm"
- show-overflow-tooltip
- label="详细检查计划名称"
- min-width="180">
- </el-table-column>
- <el-table-column
- prop="dAdName"
- show-overflow-tooltip
- label="检查区域"
- min-width="180">
- </el-table-column>
- <el-table-column
- prop="stTm"
- min-width="100"
- :formatter="formatDate"
- show-overflow-tooltip
- label="检查开始时间">
- </el-table-column>
- <el-table-column
- prop="enTm"
- min-width="100"
- :formatter="formatDate"
- show-overflow-tooltip
- label="检查结束时间">
- </el-table-column>
- <el-table-column
- prop="chkContent"
- min-width="200"
- show-overflow-tooltip
- label="检查内容">
- </el-table-column>
- </el-table>
- </div>
- <span slot="footer">
- <!-- <el-button type="primary" @click="addSubmitSecond">确定</el-button>-->
- <el-button @click="cancelMul">取消</el-button>
- </span>
- </el-dialog>
- <checkWay v-if="jqmmDialogShow" :dialogTitle="'检查方案'" :pblmId="bizId" @jqmmDialogClose="jqmmDialogClose"></checkWay>
- </el-card>
- </el-container>
- </template>
- <script>
- import checkWay from "./checkWay.vue"
- import {exportModel} from "@util/gw_exportModel";
- import request from '@util/gw_ajax_request'
- import receiver from "./receiver"
- import CommonUploadAutoSimple from "../../../widgets/common-upload-auto-simple";
- import addvSelectMul from "../../../widgets/addvSelectMulNew.vue"
- export default {
- name: "",
- props: ["rowData"],
- data() {
- return {
- selectDate: '',
- //日期选择范围在一个月内
- pickerOptions: {
- onPick: ({ maxDate, minDate }) => {
- this.selectDate = minDate.getTime()
- if (maxDate) {
- this.selectDate = ''
- }
- },
- disabledDate: (time) => {
- let sttm = this.dateRStr.split("~")[0]+"-01 00:00:00"
- let days = new Date(sttm.substring(0,4), parseInt(sttm.substring(5,7)), 0).getDate()
- let entm = this.dateRStr.split("~")[1]+"-"+days+" 23:59:59"
- if(time.getTime() < new Date(sttm).getTime() || time.getTime() > new Date(entm).getTime()){
- return true;
- }
- if (this.selectDate !== '') {
- // const one = 6 * 24 * 3600 * 1000
- const one = (6-(new Date(this.selectDate).getDay())) * 24 * 3600 * 1000
- const minTime = this.selectDate
- const maxTime = this.selectDate + one
- return (time.getTime() < minTime || time.getTime() > maxTime)
- }
- // else{
- // return time.getDay()!=0 && time.getDay()!=6
- // }
- }
- },
- gradList:[{label:"省",value:"2"},{label:"市",value:"3"},{label:"县",value:"4"}],
- DepList:[],
- joinDepList:[],
- objParent:{},
- objYear:{},
- monthList:['01',"02","03","04","05","06","07","08","09","10","11","12"],
- isRList:[{label:"是",value:"1"},{label:"否",value:"0"}],
- chkFormArr:[{
- label:"是",
- value:"1"
- },{
- label:"否",
- value:"2"
- },{
- label:"使用稽察系统检查",
- value:"3"
- }],
- chkFormType:[{
- label:"使用监督系统开展检查工作",
- value:"1"
- },{
- label:"线下",
- value:"2"
- }],
- objTypeList:[],
- year:[new Date().getFullYear()+"-01",new Date().getFullYear()+"-"+((new Date().getMonth()+1)>9?(new Date().getMonth()+1):"0"+(new Date().getMonth()+1))],
- month:new Date().getMonth()+1,
- isOne:false,
- years:[new Date().getFullYear()-1,new Date().getFullYear(),new Date().getFullYear()+1],
- months:[1,2,3,4,5,6,7,8,9,10,11,12],
- dcTypeList:[],
- ptypeArr:[{label:'暗访',value:"0"},{label:'明查',value:"1"}],
- dialogT:"",
- monthDialogVisible:true,
- addDialogVisible:false,
- detailDialogVisible:false,
- tableHeight:window.innerHeight-300,
- tableData:[],
- loading:false,
- pageNum:1,
- pageSize:10,
- total:0,
- objTypes:[],
- searchForm:{
- nm:"",
- planId:"",
- yearStr:new Date().getFullYear().toString(),
- monthStr:"",
- isItRedundant:"",
- leadDepId:""
- },
- YM:"",
- detailObj:{},
- orgIdDefault:"",
- dateRange:[],
- addForm:{
- chkYear:"",
- planDpRlIds:[],
- ptypIds:[],
- onlineChk:"",
- chkName:"",
- leadDep:"",
- organDep:"",
- yearPlanId:"",
- adCode:"",
- chkTitle:"",
- chkMonth:"",
- chkDep:"",
- chkGrp:"",
- planSttm:"",
- planEntm:"",
- joinDep:"",
- chkCity:"",
- chkCountry:"",
- chkSize:"",
- chkType:"",
- chkPers:"",
- chkPersTel:"",
- chkNote:"",
- planId:"",
- nm:"",
- planDpRlNames:"",
- chkContent:"",
- groupName:""
- },
- colors:[
- '#fd0e0a',
- '#f07c06',
- '#fdf20b',
- '#08f916',
- '#08c3c7',
- '#065eeb',
- '#7c0ac9',
- '#de0ded',
- '#C99A93',
- '#3E9467',
- '#D1385F',
- '#d1c289',
- '#ffccff',
- '#84d1cb',
- '#ccffcc',
- '#669933',
- '#666600',
- '#008000',
- '#66cdaa',
- '#708090',
- '#b0c4de',
- '#6495ed',
- '#9370db',
- '#db7093',
- '#483d8b'
- ],
- yearDialogVisible:false,
- yearId:"",
- currentId:"",
- yearPlanDepList:[],
- curTimeTip:"",
- isJdc:false,
- isEdit:false,
- isCityCountry:false,
- dateRStr:"",
- isRequired:false,
- isMulVisible:false,
- adNames:"",
- curList:[],
- tipList:[],
- fileCount:0,
- fileList: [],
- header: {
- 'persId': localStorage.getItem('userid'),
- 'accessToken' : localStorage.getItem('accessToken')
- },
- bizId:"",
- jqmmDialogShow:false
- }
- },
- filters:{
- chkTypeFor(val,that){
- var nm = ""
- that.chkFormArr.forEach((item)=>{
- if(item.value==val){
- nm = item.label;
- }
- })
- return nm;
- }
- },
- components: {
- receiver,
- CommonUploadAutoSimple,
- addvSelectMul,
- checkWay
- },
- computed: {
- persId() {
- return localStorage.getItem("userid")
- ? localStorage.getItem("userid")
- : "1098101939614724096";
- },
- orgId() {
- return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
- },
- organCode() {
- return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
- },
- currentOrgNm(){
- if(localStorage.getItem('currentRlcode').substring(0,2)=='37'){
- return "山东省"
- }else{
- return localStorage.getItem('currentOrgNm') ? localStorage.getItem('currentOrgNm') : ''
- }
- }
- },
- watch:{
- // 'addForm.planId':function (newVal,oldVal) {
- //
- // if(newVal && newVal!=oldVal && oldVal!="" && oldVal!=undefined){
- // this.$nextTick(() => {
- // this.dateRange = [];
- // });
- // }
- // },
- // 'addForm.chkYear':{
- // //设置深度监听,当openDate值发生变化时出发handler方法
- // deep:true,
- // immediate: false,
- // //注意:这里的function不能写成箭头函数,不然this将不在此组件内 https://cn.vuejs.org/v2/api/#watch
- // handler:function (newVal,oldVal) {
- // if(newVal){
- //
- // this.addForm.chkYear = newVal;
- // this.getYearPlanByDep();
- // this.addForm.planId = "";
- // // this.dateRStr = "";
- // // this.addForm.planDpRlIds = [];
- // // this.addForm.planId = "";
- // // this.objParent = {};
- // // this.dateRange = [];
- // }
- // }
- // }
- },
- created(){
- this.getCityCountry();//是不是市县账户
- this.getIsTime();//时间是不是有效时间
- this.getCurDep();//是不是监督处
- this.getCurTime();//获取设置的时间
- this.getObjTypeList();
- this.getJoinDep();
- },
- mounted() {
- this.initTableData();
- },
- methods: {
- editCheckWay(){
- this.jqmmDialogShow = true;
- },
- jqmmDialogClose() {
- this.jqmmDialogShow = false;
- },
- changeFileList(file, fileList) {
- this.fileList = fileList;
- },
- removeFileList(file, fileList) {
- this.fileList = fileList;
- },
- init() {
- this.bizId = ""
- this.fileCount = 0;
- this.fileList = [];
- if(this.$refs.uploadWay){
- this.$refs.uploadWay.clearFiles();
- }
- },
- uploadSuccess(response, file, fileList){
- this.fileCount++;
- if(this.fileCount==this.fileList.length){
- this.initTableData();
- this.init();
- }
- },
- upError(err, file, fileList){
- this.$message.error("上传出错,请修改文件!");
- this.init();
- this.initTableData();
- },
- getIsTime(){
- this.isEdit = false;
- request.get(`/bis/insp/gaTm/exceed`).then(res=>{
- if(res.success){
- this.isEdit = res.data.key;
- }
- })
- },
- getCurDep(){
- this.isJdc = false;
- request.get(`/bis/insp/gaTm/purview`).then(res=>{
- if(res.success){
- this.isJdc = res.data.key;
- }
- })
- },
- getCityCountry(){
- this.isCityCountry = false;
- request.get(`/bis/insp/gaTm/whetherTheCityOrCounty`).then(res=>{
- if(res.success){
- this.isCityCountry = res.data.key;
- }
- })
- },
- formatDateMonth(dateF){
- if(dateF){
- var date = new Date(dateF);
- return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1));
- }
- return "";
- },
- getCurTime(){
- this.curTimeTip = "";
- request.get(`/bis/insp/gaTm/obj`).then(res=>{
- if(res.success){
- if(res.data.stm && res.data.etm){
- this.curTimeTip = `(市县填报时间范围为${this.formatDateTime(res.data.stm)}~${this.formatDateTime(res.data.etm)}日)`;
- }
- }
- })
- },
- changeDate(){
- this.addForm.planId = "";
- this.dateRStr = "";
- this.addForm.planDpRlIds = [];
- this.joinDepList = [];
- this.DepList = [];
- this.objParent = {};
- this.dateRange = [];
- this.getYearPlanByDep();
- },
- changeYearSelect(){
- this.dateRStr = "";
- this.addForm.planDpRlIds = [];
- this.joinDepList = [];
- this.DepList = [];
- this.dateRange = [];
- this.objParent = {};
- this.getYearList();
- },
- // changeYearSearch(){
- // this.initTableData();
- // this.getYearById();
- // },
- getYearPlanByDep(){
- this.yearPlanDepList = [];
- request.post(`/bis/insp/plan/year/findList`,{state:"1",chkYear:this.addForm.chkYear}).then(res=>{
- if(res.success){
- if(res.data && res.data.length>0){
- this.yearPlanDepList = res.data;
- }
- }
- })
- },
- detailGroup(row){
- if(row){
- this.$router.push({path: '/detailYearSdPlanD',query: {id: row.id,planId:this.$route.query.id,key:new Date().getTime()}});
- }else{
- this.$router.push({path: '/detailYearSdPlanD',query: {planId:this.$route.query.id,key:new Date().getTime()}});
- }
- },
- back(){
- this.$router.push({path:"/planCheckSd",query:{key:new Date().getTime()}});
- },
- getLeadDep(){
- var _self = this;
- this.DepList = [];
- request.get(`/bis/insp/plan/dp/getByPersId`,{params:{id:this.persId}}).then(res=>{
- if(res.success){
- if(res.data && res.data.length>0){
- _self.DepList = res.data;
- }
- }
- })
- },
- getJoinDep(){
- var _self = this;
- this.joinDepList = [];
- request.post(`/bis/insp/plan/dp/findList`,{}).then(res=>{
- if(res.success){
- if(res.data && res.data.length>0){
- _self.joinDepList = res.data;
- // res.data.forEach((item)=>{
- // if(_self.objParent.planDpRlIds.indexOf(item.id)>-1){
- // _self.joinDepList.push(item);
- // }
- // })
- }
- }
- })
- },
- getYearById(){
- var _self = this;
- request.get(`/bis/insp/plan/year/${this.searchForm.planId}`).then(res=>{
- if(res.success){
- _self.objYear = res.data;
- }
- })
- },
- getYearList(){
- var _self = this;
- this.DepList = [];
- this.objParent = {};
- request.get(`/bis/insp/plan/year/${this.addForm.planId}`).then(res=>{
- if(res.success){
- _self.DepList = [{id:res.data.leadDepId,dpName:res.data.leadDep}];
- _self.objParent = res.data;
- _self.addForm.chkType = _self.objParent.chkForm;
- _self.dateRStr = _self.formatDateMonth(res.data.planSttm)+'~'+_self.formatDateMonth(res.data.planEntm);
- _self.getJoinDep();
- }
- })
- },
- formatDateTime(dateF){
- if(dateF){
- var date = new Date(dateF);
- return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))+"-"+(date.getDate()>9?date.getDate():"0"+date.getDate());
- }
- return "";
- },
- getObjTypeList(){
- var _self = this;
- this.objTypeList = [];
- request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`).then(res=>{
- if(res.success){
- _self.objTypeList = res.data;
- }
- })
- },
- showYearPlan(id){
- this.getAllYearPlan();
- this.yearDialogVisible = true;
- this.currentId = id;
- },
- changeAddv(obj){
- if(obj.adCodes){
- this.adNames = obj.adNames;
- this.addForm.dAdCodes = obj.adCodes.split(",");
- }else{
- this.addForm.dAdCodes = [];
- }
- },
- async downloadTemplate() {
- let url = "/pdcApi/bis/insp/planMonth/downloadExcel";
- let type = "get";
- let exportName = "督查检查考核计划调度安排表.xls"
- let result = await exportModel(type, url, exportName, null);
- },
- uploadOver(){
- this.initTableData();
- },
- addFormBtn(){
- this.addDialogVisible = true;
- this.addForm = {};
- this.dialogT = "添加";
- },
- chkFormFormat(row, column, cellValue, index){
- var nm = ""
- this.chkFormArr.forEach((item)=>{
- if(item.value==row.chkType){
- nm = item.label;
- }
- })
- return nm;
- },
- getTypes() {
- var _self = this;
- request.get(`/bis/insp/rel/org/insp/type/getInspTypeByOrgId/${this.orgId}`)
- .then(res => {
- if (res.success) {
- _self.dcTypeList = res.data;
- }
- })
- },
- closeDialog(){
- this.$emit('closeDialogMonth')
- },
- closeDetailDialog(){
- this.detailDialogVisible = false;
- },
- objFormat(row, column, cellValue, index){
- var name = "";
- this.dcTypeList.forEach((item)=>{
- if(parseInt(item.inspType)==row.OBJTYPE){
- name = item.inspName;
- }
- })
- return name;
- },
- formatDate(row, column, cellValue, index){
- var dateF = row[column.property];
- if(dateF){
- var date = new Date(dateF);
- return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))+"-"+date.getDate();
- }
- return "";
- },
- formatDate1(row, column, cellValue, index){
- var dateF = row[column.property];
- if(dateF){
- var date = new Date(dateF);
- return date.getFullYear()+"-"+((date.getMonth()+1)>9?(date.getMonth()+1):'0'+(date.getMonth()+1))
- }
- return "";
- },
- async exportExcel() {
- let url = "/pdcApi/bis/insp/planMonth/export";
- let type = "POST";
- let exportName = "督查检查考核计划调度安排表.xls"
- let result = await exportModel(type, url, exportName,JSON.stringify(this.searchForm));
- },
- deleteData(id){
- var _self = this;
- this.$confirm('确定删除该条数据吗, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- request.post('/bis/insp/plan/dtl/delete/'+id).then(res=>{
- if(res.success){
- _self.initTableData();
- }else{
- _self.$message.warning(res.message);
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
- edit(row){
- this.bizId = row.id;
- var obj = JSON.stringify(row);
- var objNew = JSON.parse(obj);
- objNew.chkYear = objNew.chkYear?JSON.stringify(objNew.chkYear):"",
- this.addDialogVisible = true;
- this.addForm = objNew;
- this.addForm.planDpRlNames = "";
- this.dateRange = [this.addForm.stTm,this.addForm.enTm];
- this.dialogT = "编辑";
- this.$nextTick(()=>{
- this.getYearPlanByDep();
- this.getYearList();
- this.$refs.city.setCheck(row.dAdName?row.dAdCodes:[],row.dAdName?row.dAdName.split(","):[]);
- this.adNames = row.dAdName;
- // this.getYearPlanByDep();
- })
- },
- cancelMul(){
- this.addDialogVisible = false;
- this.isMulVisible = false;
- },
- addSubmitSecond(){
- if(!this.addForm.note){
- this.isMulVisible = false;
- this.$message.warning("因检查区域/时间重复,请在备注处说明事由!");
- this.isRequired = true;
- return false;
- }
- this.addForm.determine = true;
- var _self = this;
- request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
- if(res.success){
- if(_self.dialogT=="添加" && _self.fileList.length>0){
- _self.bizId = res.data.id;
- _self.$nextTick(() => {
- _self.$refs.uploadWay.submit();
- });
- }
- setTimeout(function(){
- _self.$message.success("保存成功");
- _self.addDialogVisible = false;
- _self.isMulVisible = false;
- _self.addForm = {};
- _self.dateRange = [];
- },500)
- }
- }).catch(error=>{
- this.$message.error(error)
- })
- },
- addSubmit(){
- if(!this.addForm.planId){
- this.$message.warning("请选择检查计划事项");
- return;
- }
- if(!this.addForm.onlineChk){
- this.$message.warning("请选择工作形式");
- return;
- }
- if(this.addForm.onlineChk && this.addForm.onlineChk=="1" && (!this.addForm.ptypIds || this.addForm.ptypIds.length==0)){
- this.$message.warning("请选择系统督查类别");
- return;
- }
- if(!this.addForm.nm){
- this.$message.warning("请输入详细检查计划");
- return;
- }
- if((!this.addForm.planDpRlIds || this.addForm.planDpRlIds.length==0) && !this.addForm.planDpRlNames){
- this.$message.warning("请选择或输入检查实施处室(单位)");
- return;
- }
- if(this.addForm.planDpRlNames && !/^[,\u4e00-\u9fa5]+$/.test(this.addForm.planDpRlNames)){
- this.$message.warning("检查实施处室(单位)只能包含中文和英文逗号");
- return;
- }
- if(!this.dateRange || this.dateRange.length==0 ){
- this.$message.warning("请选择检查时间");
- return;
- }
- if(!this.addForm.dAdCodes || this.addForm.dAdCodes.length==0){
- this.$message.warning("请选择检查区域");
- return;
- }
- // if(!this.addForm.groupName){
- // this.$message.warning("请输入检查组长");
- // return;
- // }
- // if(this.dateRange && this.dateRange.length>0 && new Date(this.dateRange[0]).getDay()!=0){
- // this.$message.warning("检查时间开始时间只能为周日");
- // return;
- // }
- // if(!this.addForm.chkContent){
- // this.$message.warning("请输入检查内容");
- // return;
- // }
- // this.addForm.planId = this.$route.query.id;
- if(this.dateRange && this.dateRange.length>0){
- this.addForm.stTm = this.dateRange[0];
- this.addForm.enTm = this.dateRange[1];
- }
- var _self = this;
- this.addForm.determine = false;
- this.isRequired = false;
- this.tipList = [];
- this.curList = [];
- request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
- if(!res.success && res.message=="true"){
- _self.isMulVisible = true;
- _self.curList.push({
- nm:_self.addForm.nm,
- dAdName:_self.adNames,
- stTm:_self.dateRange[0],
- enTm:_self.dateRange[1],
- chkContent:_self.addForm.chkContent
- });
- _self.tipList = res.data;
- }else if(!res.success && res.message=="报错"){
- this.$message.warning("添加失败,同一个年度计划,一个月内只能到一个市!");
- }else{
- _self.addForm.determine = true;
- request.post('/bis/insp/plan/dtl/',this.addForm).then(res=>{
- if(res.success){
- if(_self.dialogT=="添加" && _self.fileList.length>0){
- _self.bizId = res.data.id;
- _self.$nextTick(() => {
- _self.$refs.uploadWay.submit();
- });
- }
- setTimeout(function(){
- _self.$message.success("保存成功");
- _self.addDialogVisible = false;
- _self.addForm = {};
- _self.dateRange = [];
- },500)
- }
- }).catch(error=>{
- this.$message.error(error)
- })
- }
- }).catch(error=>{
- this.$message.error(error)
- })
- },
- updateData(){
- if(!this.yearId){
- this.$message.warning("请选择年度计划");
- return;
- }
- var obj = {
- id:this.currentId,
- yearPlanId:this.yearId
- }
- var _self = this;
- request.post('/bis/insp/planMonth/',obj).then(res=>{
- if(res.success){
- _self.$message.success("关联成功");
- _self.yearDialogVisible = false;
- _self.currentId = "";
- _self.yearId = "";
- _self.initTableData();
- }else{
- _self.$message.warning(res.message);
- }
- })
- },
- closeAddDialog(){
- this.addDialogVisible = false;
- },
- closeYearDialog(){
- this.yearDialogVisible = false;
- },
- initTableData(){
- // this.searchForm.pageNum = this.pageNum;
- // this.searchForm.pageSize = this.pageSize;
- // this.searchForm.planId = this.$route.query.id;
- this.loading = true;
- var _self = this;
- this.tableData = [];
- request.post('/bis/insp/plan/dtl/list',this.searchForm).then(res=>{
- if(res.success){
- _self.tableData = res.data;
- // _self.total = res.data.total;
- _self.loading = false;
- _self.$nextTick(()=>{
- _self.$refs.multipleTable.doLayout();
- })
- }else{
- _self.$message.warning(res.message)
- }
- })
- },
- handleCurrentChange(val){
- this.pageNum = val;
- this.initTableData();
- },
- handleSizeChange(val){
- this.pageSize = val;
- this.initTableData();
- },
- changeDateRange(v){
- this.$refs.city.setCheck([],[]);
- this.addForm.dAdCodes = []
- this.adNames = "";
- },
- searchBtn(){
- this.isOne = false;
- this.initTableData();
- },
- oneDel(){
- this.isOne = true;
- this.initTableData();
- },
- lookOver(obj){
- this.detailObj = obj;
- this.detailObj.chkMonth = this.detailObj.chkMonth?this.formatDate1(this.detailObj,{property:"chkMonth"},null,null):"";
- this.detailObj.planSttm = this.detailObj.planSttm?this.formatDate(this.detailObj,{property:"planSttm"},null,null):"";
- this.detailObj.planEntm = this.detailObj.planEntm?this.formatDate(this.detailObj,{property:"planEntm"},null,null):"";
- this.detailDialogVisible = true;
- },
- addBtn(){
- this.addForm = {};
- this.objParent = {};
- this.joinDepList = [];
- this.dateRange = [];
- this.addDialogVisible = true;
- this.dialogT = "添加"
- },
- async downloadPlan() {
- let url = "/pdcApi/bis/insp/plan/dtl/export";
- let type = "post";
- let exportName = "详细检查计划表.xls"
- let param = JSON.stringify(this.searchForm);
- let result = await exportModel(type, url, exportName,param);
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- table{
- width: 100%;
- height:100%;
- border-collapse: collapse;
- margin-bottom: 30px;
- }
- table tr td{
- border:1px solid #cecece;
- height:35px;
- text-indent: 15px;
- padding-right: 15px;
- }
- table tr td:first-child{
- background: #f2f1f1;
- width: 260px;
- text-align: right;
- }
- .title_monthReport /deep/ .el-input__inner{
- border:0px;
- font-size: 20px !important;
- color:black;
- }
- .monthReport{
- width: 100%;
- height:100%;
- margin: 0;
- padding: 0;
- }
- .box-card{
- width: calc(100% - 60px);
- height:calc(100% - 20px);
- margin: 0 auto;
- margin-top: 10px;
- }
- .title_monthReport{
- text-align: center;
- padding: 10px;
- }
- .note_monthReport{
- width: 100%;
- background-color: rgba(255, 251, 230, 1);
- box-sizing: border-box;
- border-width: 1px;
- border-style: solid;
- border-color: rgba(255, 229, 143, 1);
- color: rgba(0, 0, 0, 0.447058823529412);
- font-size: 14px;
- padding: 10px;
- }
- .note_monthReport p:first-child{
- font-size: 16px !important;
- }
- .monthReport{
- .demo-form-inline{
- .el-form-item{
- margin-bottom: 5px;
- margin-top: 8px;
- }
- }
- }
- </style>
|