f4ec25ffe760fb924425dfb76952c9db5e087ad7.svn-base 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342
  1. <template>
  2. <div style="height:100%;width:100%;">
  3. <el-container style="height:100%;width:100%;">
  4. <el-aside width="320px" style="border-right:2px solid #d5d5ff;float:left" :style="{'max-height':testHeight+'px','height':testHeight+'px'}">
  5. <span style="display: flex;justify-content: center;align-items: center;border-bottom: 1px solid #ebeef5;">
  6. <el-button size="mini" :class="tabType==1 ? 'skactive' : 'sknormal'" @click="tabChange('1')">当前数据</el-button>
  7. <el-button size="mini" :class="tabType==2 ? 'skactive' : 'sknormal'" @click="tabChange('2')">历史数据</el-button>
  8. <el-button size="mini" :class="tabType==0 ? 'skactive' : 'sknormal'" @click="tabChange('0')">全部数据</el-button>
  9. </span>
  10. <div class="tree" style="
  11. height: calc(100% - 50px);
  12. width: 100%;
  13. overflow: auto;
  14. display: inline-flex;">
  15. <el-tree
  16. :highlight-current="true"
  17. style="height:100%;"
  18. :data="treeData"
  19. node-key="id"
  20. :expand-on-click-node="false"
  21. @node-click = 'treeNodeClickHandler'
  22. ref="jigou_tree"
  23. >
  24. <div class="custom-tree-node" slot-scope="{ node, data }">
  25. <span style="float:left;">{{ data.pnm}}
  26. </span>
  27. </div>
  28. </el-tree>
  29. </div>
  30. </el-aside>
  31. <!-- 主要窗口 -->
  32. <el-main id="dxdcListMainsk" style="padding:5px 20px;">
  33. <el-row>
  34. <el-col :span="24">
  35. <el-form :inline="true" size="mini" class="demo-form-inline" style="padding-left: 10px;">
  36. <el-form-item label="督查状态">
  37. <el-select v-model="dcType" clearable placeholder="督查状态">
  38. <el-option label="未督查" value="0"></el-option>
  39. <el-option label="督查中" value="1"></el-option>
  40. <el-option label="已督查" value="2"></el-option>
  41. </el-select>
  42. </el-form-item>
  43. <el-form-item label="行政区名称">
  44. <addvSearch
  45. v-model="adName"
  46. :maxHeight='300'
  47. :maxWidth='250'
  48. :rootAddCode='curAdcode_long'
  49. :level='"3"'
  50. :nameOrCode="'name'"
  51. ></addvSearch>
  52. </el-form-item>
  53. <el-form-item label="对象名称">
  54. <el-input v-model="depName" placeholder="对象名称"></el-input>
  55. </el-form-item>
  56. <!-- <el-form-item label="所在组">
  57. <el-autocomplete v-model="groupName" clearable value-key='nm' :fetch-suggestions="querySearchAsync" placeholder="请输入内容"
  58. @select="handleSelect"></el-autocomplete>
  59. </el-form-item> -->
  60. <el-form-item label="督查时间">
  61. <div style="display: flex;">
  62. <!-- <el-date-picker
  63. v-model="dateRange"
  64. type="daterange"
  65. value-format="yyyy-MM-dd"
  66. style="width:280px"
  67. range-separator="至"
  68. start-placeholder="开始日期"
  69. end-placeholder="结束日期"
  70. ></el-date-picker> -->
  71. <el-date-picker
  72. v-model="yearLx"
  73. type="year"
  74. placeholder="选择年">
  75. </el-date-picker>
  76. </div>
  77. </el-form-item>
  78. <el-form-item>
  79. <el-button type="primary" @click="onSubmit" icon="el-icon-search">查询</el-button>
  80. </el-form-item>
  81. </el-form>
  82. </el-col>
  83. </el-row>
  84. <el-table
  85. ref="table"
  86. border
  87. :height="tableHeight"
  88. :data="skDataList"
  89. style="width: 100%"
  90. v-loading="expLoading">
  91. <el-table-column prop="adName" label="行政区划" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  92. <el-table-column prop="nm" label="工程名称" show-overflow-tooltip min-width="80" align="center" fixed="left"></el-table-column>
  93. <el-table-column prop="sceneScore" label="施工现场布置得分" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="70" align="center" ></el-table-column>
  94. <el-table-column prop="tmprScore" label="临时工程得分" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="70" align="center" ></el-table-column>
  95. <el-table-column prop="safScore" label="安全文明施工得分" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="70" align="center" ></el-table-column>
  96. <el-table-column prop="standardTotal" label="工地应计总分" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="70" align="center" ></el-table-column>
  97. <el-table-column prop="standardScore" label="工地得分" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="80" align="center" ></el-table-column>
  98. <el-table-column prop="standardRate" label="工地得分率(%)" v-if="ownPriv('isGdExpert')" show-overflow-tooltip min-width="90" align="center" ></el-table-column>
  99. <el-table-column prop="pbScore" label="党建得分" v-if="ownPriv('isDjExpert')" show-overflow-tooltip min-width="80" align="center" ></el-table-column>
  100. <el-table-column prop="actualScore" label="总分" v-if="ownPriv('isGdExpert') || ownPriv('isDjExpert')" show-overflow-tooltip min-width="80" align="center" ></el-table-column>
  101. <el-table-column prop="groupName" label="所在组" show-overflow-tooltip min-width="80" align="center"></el-table-column>
  102. <el-table-column prop="intm1" label="督查时间" show-overflow-tooltip min-width="100" align="center"></el-table-column>
  103. <!-- <el-table-column prop="uptm" label="更新时间" align="center" :formatter="formatDate" min-width="100"></el-table-column>-->
  104. <!-- <el-table-column-->
  105. <!-- prop="sceneState"-->
  106. <!-- label="施工现场布置状态"-->
  107. <!-- align="center"-->
  108. <!-- min-width="200">-->
  109. <!-- <template slot-scope="scope">-->
  110. <!-- <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.sceneState == 0 || !scope.row.sceneState">待填报</p>-->
  111. <!-- <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.sceneState == 1">未完成</p>-->
  112. <!-- <p style="cursor:pointer;color:#67C23A" v-if="scope.row.sceneState == 2">已完成</p>-->
  113. <!-- </template>-->
  114. <!-- </el-table-column>-->
  115. <!-- <el-table-column-->
  116. <!-- prop="tmprState"-->
  117. <!-- label="临时工程状态"-->
  118. <!-- align="center"-->
  119. <!-- min-width="150">-->
  120. <!-- <template slot-scope="scope">-->
  121. <!-- <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.tmprState == 0 || !scope.row.tmprState">待填报</p>-->
  122. <!-- <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.tmprState == 1">未完成</p>-->
  123. <!-- <p style="cursor:pointer;color:#67C23A" v-if="scope.row.tmprState == 2">已完成</p>-->
  124. <!-- </template>-->
  125. <!-- </el-table-column>-->
  126. <!-- <el-table-column-->
  127. <!-- prop="safState"-->
  128. <!-- label="安全文明施工"-->
  129. <!-- align="center"-->
  130. <!-- min-width="150">-->
  131. <!-- <template slot-scope="scope">-->
  132. <!-- <p style="cursor:pointer;color:#F56C6C;" v-if="scope.row.safState == 0 || !scope.row.safState">待填报</p>-->
  133. <!-- <p style="cursor:pointer;color:#fbb56d" v-if="scope.row.safState == 1">未完成</p>-->
  134. <!-- <p style="cursor:pointer;color:#67C23A" v-if="scope.row.safState == 2">已完成</p>-->
  135. <!-- </template>-->
  136. <!-- </el-table-column>-->
  137. <el-table-column prop="type" label="工程类型" show-overflow-tooltip min-width="100" align="center">
  138. </el-table-column>
  139. <el-table-column prop="managementUnit" label="管理单位" show-overflow-tooltip min-width="100" align="center">
  140. </el-table-column>
  141. <el-table-column prop="contactPerson" label="联系人" show-overflow-tooltip min-width="100" align="center">
  142. </el-table-column>
  143. <el-table-column prop="investment" label="投资金额(万元)" show-overflow-tooltip min-width="100" align="center">
  144. </el-table-column>
  145. <el-table-column prop="startDate" label="开工令签发时间" show-overflow-tooltip min-width="100" align="center">
  146. </el-table-column>
  147. <el-table-column prop="state" label="已建 / 在建" show-overflow-tooltip min-width="100" align="center">
  148. <template slot-scope="scope">
  149. <p v-if="scope.row.state == '0'">在建</p>
  150. <p v-else>已建</p>
  151. </template>
  152. </el-table-column>
  153. <el-table-column
  154. prop="state"
  155. label="督查状态"
  156. align="center"
  157. min-width="80">
  158. <template slot-scope="scope">
  159. <span
  160. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  161. v-if="scope.row.state == 0"
  162. >未填报</span>
  163. <span
  164. style="padding: 3px 10px;background:#FBB56D;border-radius:15px;color:rgba(255,255,255,1)"
  165. v-if="scope.row.state == 1"
  166. >填报中</span>
  167. <span
  168. style="padding: 3px 10px;background:#63C25E;border-radius:15px;color:rgba(255,255,255,1)"
  169. v-if="scope.row.state == 2"
  170. >已填报</span>
  171. </template>
  172. </el-table-column>
  173. <el-table-column align="center" label="操作" min-width="220" fixed="right">
  174. <template slot-scope="scope">
  175. <div style="display: flex;justify-content: center">
  176. <div>
  177. <el-button size="mini" type="success" v-if="scope.row.rgstrId" plain @click="add(scope.row)">填报</el-button>
  178. <el-button size="mini" type="danger" v-if="scope.row.rgstrId && scope.row.state != '2'" plain @click="deleteMember(scope.row)">删除</el-button>
  179. <!-- <el-button size="mini" type="danger" v-if="scope.row.rgstrId && scope.row.state != '2'" plain @click="submitHandler(scope.row)">提交</el-button> -->
  180. </div>
  181. <el-button size="mini" type="warning" v-if="scope.row.rgstrId && scope.row.state == '2'" plain @click="getDe(scope.row)">查看</el-button>
  182. <div style="padding-left: 10px;">
  183. <el-button size="mini" type="warning" v-if="scope.row.rgstrId && scope.row.state == '2'" plain @click="revoke(scope.row)">撤回</el-button>
  184. </div>
  185. </div>
  186. </template>
  187. </el-table-column>
  188. </el-table>
  189. <el-pagination background :pager-count="5" :current-page="pageIndex"
  190. :page-size="pageSize" :page-sizes="[10, 20, 30, 40, 50, 100]"
  191. layout="sizes, total, prev, pager, next" :total="total"
  192. @current-change="pageIndexChange" @size-change="handleSizeChange"
  193. ></el-pagination>
  194. </el-main>
  195. <!-- </el-container> -->
  196. <bzhgdTab v-if="showShuiKuTianBao" :rowData="rowData" :currentObjectRgstrId="currentObjectRgstrId"
  197. :currentResCode="currentResCode" :currentObjectId="currentObjectId"
  198. :currentObjectName="currentResName"
  199. :pType="pType"
  200. :currentNodeId="currentNodeId"
  201. :openType="openType"
  202. @cancelHandler="cancelHandler" @addShuiKuSuccess="addShuiKuSuccess"></bzhgdTab>
  203. </el-container>
  204. <!-- 添加/编辑人员弹窗 -->
  205. <!-- 上传模板弹窗 -->
  206. <shuiku-tian-bao-pl v-if="showShuiKuTianBaoPl"
  207. :showShuiKuTianBaoPl="showShuiKuTianBaoPl"
  208. :id="currentNodeId"
  209. @closePlDialog="closePlDialog"></shuiku-tian-bao-pl>
  210. <!-- 水库信息查看 -->
  211. <!-- 督查弹窗 -->
  212. <el-dialog
  213. title=""
  214. @close="clearForm"
  215. :visible.sync="showDuchaDialog"
  216. width="60%"
  217. center
  218. >
  219. <el-tabs v-model="activeTab" type="card" style="padding:5px 20px;">
  220. <el-tab-pane label="基本信息" name="basicInfo">
  221. <p style="margin-top:10px;margin-bottom: 10px;overflow: hidden;"><i class="el-icon-caret-right"></i><span
  222. style="width:120px;padding-left: 10px">基本信息</span><span class="hrs"></span>
  223. </p>
  224. <div>
  225. <el-form label-width="100px" style="padding: 20px 0;">
  226. <el-form-item label="工程名称">
  227. <el-input v-model="duchaForm.name" :disabled="isEdit"></el-input>
  228. </el-form-item>
  229. <el-form-item label="业务类型">
  230. <el-input v-model="duchaForm.businessType" :disabled="isEdit"></el-input>
  231. </el-form-item>
  232. <el-form-item label="工程类型">
  233. <el-input v-model="duchaForm.type" :disabled="isEdit"></el-input>
  234. </el-form-item>
  235. <el-form-item label="所在地">
  236. <el-input v-model="duchaForm.loc" :disabled="isEdit"></el-input>
  237. </el-form-item>
  238. <el-form-item label="投资金额(万元)">
  239. <el-input v-model="duchaForm.investment" :disabled="isEdit"></el-input>
  240. </el-form-item>
  241. <el-form-item label="计划工期">
  242. <el-input v-model="duchaForm.plannedDuration" :disabled="isEdit"></el-input>
  243. </el-form-item>
  244. <el-form-item label="开工令签发时间">
  245. <el-input v-model="duchaForm.startDate" :disabled="isEdit"></el-input>
  246. </el-form-item>
  247. <el-form-item label="已建 / 在建">
  248. <el-input v-model="duchaForm.status" :disabled="isEdit"></el-input>
  249. </el-form-item>
  250. <el-form-item label="管理单位">
  251. <el-input v-model="duchaForm.managementUnitName" :disabled="isEdit"></el-input>
  252. </el-form-item>
  253. <el-form-item label="联系人">
  254. <el-input v-model="duchaForm.contactPerson" :disabled="isEdit"></el-input>
  255. </el-form-item>
  256. <el-form-item label="行政区划编码">
  257. <el-input v-model="duchaForm.adCode" :disabled="isEdit"></el-input>
  258. </el-form-item>
  259. <el-form-item label="行政区划名称">
  260. <el-input v-model="duchaForm.adName" :disabled="isEdit"></el-input>
  261. </el-form-item>
  262. <el-form-item label="经度">
  263. <el-input v-model="duchaForm.centerX" :disabled="isEdit"></el-input>
  264. </el-form-item>
  265. <el-form-item label="纬度">
  266. <el-input v-model="duchaForm.centerY" :disabled="isEdit"></el-input>
  267. </el-form-item>
  268. </el-form>
  269. </div>
  270. </el-tab-pane>
  271. <el-tab-pane label="六项机制填报" name="aztb">
  272. <el-button :disabled="isEdit" style="margin-left: 1%;" type="primary" @click="showaddaz = true;isadd = true">新增填报</el-button>
  273. <el-table
  274. ref="table"
  275. border
  276. :height="tableHeight*0.5"
  277. :data="aztbDataList"
  278. style="width: 100%;margin-top: 1%;"
  279. :cell-style="{color: '#000000'}"
  280. v-loading="expLoading">
  281. <el-table-column label="查找机制" show-overflow-tooltip min-width="100" align="center">
  282. <template slot-scope="scope">
  283. <span
  284. style="padding: 3px 10px;border-radius:15px;"
  285. v-if="scope.row.search == '1'"
  286. >是</span>
  287. <span
  288. style="padding: 3px 10px;border-radius:15px;"
  289. v-if="scope.row.search == '2'"
  290. >否</span>
  291. <span
  292. style="padding: 3px 10px;border-radius:15px;"
  293. v-if="scope.row.search == null"
  294. >-</span>
  295. </template>
  296. </el-table-column>
  297. <el-table-column label="研判机制" show-overflow-tooltip min-width="100" align="center">
  298. <template slot-scope="scope">
  299. <span
  300. style="padding: 3px 10px;border-radius:15px;"
  301. v-if="scope.row.judgment == '1'"
  302. >是</span>
  303. <span
  304. style="padding: 3px 10px;border-radius:15px;"
  305. v-if="scope.row.judgment == '2'"
  306. >否</span>
  307. <span
  308. style="padding: 3px 10px;border-radius:15px;"
  309. v-if="scope.row.judgment == null"
  310. >-</span>
  311. </template>
  312. </el-table-column>
  313. <el-table-column label="预警机制" show-overflow-tooltip min-width="100" align="center">
  314. <template slot-scope="scope">
  315. <span
  316. style="padding: 3px 10px;border-radius:15px;"
  317. v-if="scope.row.earlyWarning == '1'"
  318. >是</span>
  319. <span
  320. style="padding: 3px 10px;border-radius:15px;"
  321. v-if="scope.row.earlyWarning == '2'"
  322. >否</span>
  323. <span
  324. style="padding: 3px 10px;border-radius:15px;"
  325. v-if="scope.row.earlyWarning == null"
  326. >-</span>
  327. </template>
  328. </el-table-column>
  329. <el-table-column label="防范机制" show-overflow-tooltip min-width="100" align="center">
  330. <template slot-scope="scope">
  331. <span
  332. style="padding: 3px 10px;border-radius:15px;"
  333. v-if="scope.row.prevention == '1'"
  334. >是</span>
  335. <span
  336. style="padding: 3px 10px;border-radius:15px;"
  337. v-if="scope.row.prevention == '2'"
  338. >否</span>
  339. <span
  340. style="padding: 3px 10px;border-radius:15px;"
  341. v-if="scope.row.prevention == null"
  342. >-</span>
  343. </template>
  344. </el-table-column>
  345. <el-table-column label="处置机制" show-overflow-tooltip min-width="100" align="center">
  346. <template slot-scope="scope">
  347. <span
  348. style="padding: 3px 10px;border-radius:15px;"
  349. v-if="scope.row.disposal == '1'"
  350. >是</span>
  351. <span
  352. style="padding: 3px 10px;border-radius:15px;"
  353. v-if="scope.row.disposal == '2'"
  354. >否</span>
  355. <span
  356. style="padding: 3px 10px;border-radius:15px;"
  357. v-if="scope.row.disposal == null"
  358. >-</span>
  359. </template>
  360. </el-table-column>
  361. <el-table-column label="责任机制" show-overflow-tooltip min-width="100" align="center">
  362. <template slot-scope="scope">
  363. <span
  364. style="padding: 3px 10px;border-radius:15px;"
  365. v-if="scope.row.responsibility == '1'"
  366. >是</span>
  367. <span
  368. style="padding: 3px 10px;border-radius:15px;"
  369. v-if="scope.row.responsibility == '2'"
  370. >否</span>
  371. <span
  372. style="padding: 3px 10px;border-radius:15px;"
  373. v-if="scope.row.responsibility == null"
  374. >-</span>
  375. </template>
  376. </el-table-column>
  377. <el-table-column label="状态" show-overflow-tooltip min-width="100" align="center">
  378. <template slot-scope="scope">
  379. <span
  380. style="padding: 3px 10px;background:#F56C6C;border-radius:15px;color:rgba(255,255,255,1)"
  381. v-if="scope.row.state == 0"
  382. >未完成</span>
  383. <span
  384. style="padding: 3px 10px;background:#FBB56D;border-radius:15px;color:rgba(255,255,255,1)"
  385. v-if="scope.row.state == 1"
  386. >已完成</span>
  387. </template>
  388. </el-table-column>
  389. <el-table-column align="center" label="操作" min-width="220" fixed="right">
  390. <template slot-scope="scope">
  391. <div style="display: flex;justify-content: center">
  392. <el-button :disabled="isEdit" size="mini" type="success" plain @click="editAx(scope.row)">编辑</el-button>
  393. <el-button :disabled="isEdit" size="mini" type="danger" plain @click="delAx(scope.row)">删除</el-button>
  394. </div>
  395. </template>
  396. </el-table-column>
  397. </el-table>
  398. <el-pagination style="padding: 20px 0;" background :pager-count="5" :current-page="pageIndex1"
  399. :page-size="pageSize1" :page-sizes="[10, 20, 30, 40, 50, 100]"
  400. layout="sizes, total, prev, pager, next" :total="total1"
  401. @current-change="pageIndexChange1" @size-change="handleSizeChange1"
  402. ></el-pagination>
  403. </el-tab-pane>
  404. <div slot="footer" class="dialog-footer">
  405. <el-button @click="showDuchaDialog = false">取消</el-button>
  406. <el-button :disabled="isEdit" type="primary" @click="saveDucha">保存</el-button>
  407. </div>
  408. </el-tabs>
  409. </el-dialog>
  410. <el-dialog
  411. title="六项机制填报"
  412. :visible.sync="showaddaz"
  413. width="30%"
  414. center
  415. loading="expLoading"
  416. @close="clearLabel"
  417. >
  418. <el-form :model="formObj" :label-width="formLabelWidth" :rules="rules" style="padding: 20px;">
  419. <el-form-item label="查找机制">
  420. <el-radio v-model="formObj.search" label="1">是</el-radio>
  421. <el-radio v-model="formObj.search" label="2">否</el-radio>
  422. <i v-if="formObj.search == '1'" @click="savePic('search')" class="el-icon-upload2"></i>
  423. <img v-if="downList.searchUrl" :src="downList.searchUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.searchUrl)" title="点击下载" />
  424. </el-form-item>
  425. <el-form-item label="研判机制">
  426. <el-radio v-model="formObj.judgment" label="1">是</el-radio>
  427. <el-radio v-model="formObj.judgment" label="2">否</el-radio>
  428. <i v-if="formObj.judgment == '1'" @click="savePic('judgment')" class="el-icon-upload2"></i>
  429. <img v-if="downList.judgmentUrl" :src="downList.judgmentUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.judgmentUrl)" title="点击下载" />
  430. </el-form-item>
  431. <el-form-item label="预警机制">
  432. <el-radio v-model="formObj.earlyWarning" label="1">是</el-radio>
  433. <el-radio v-model="formObj.earlyWarning" label="2">否</el-radio>
  434. <i v-if="formObj.earlyWarning == '1'" @click="savePic('earlyWarning')" class="el-icon-upload2"></i>
  435. <img v-if="downList.earlyWarningUrl" :src="downList.earlyWarningUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.earlyWarningUrl)" title="点击下载" />
  436. </el-form-item>
  437. <el-form-item label="防范机制">
  438. <el-radio v-model="formObj.prevention" label="1">是</el-radio>
  439. <el-radio v-model="formObj.prevention" label="2">否</el-radio>
  440. <i v-if="formObj.prevention == '1'" @click="savePic('prevention')" class="el-icon-upload2"></i>
  441. <img v-if="downList.preventionUrl" :src="downList.preventionUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.preventionUrl)" title="点击下载" />
  442. </el-form-item>
  443. <el-form-item label="处置机制">
  444. <el-radio v-model="formObj.disposal" label="1">是</el-radio>
  445. <el-radio v-model="formObj.disposal" label="2">否</el-radio>
  446. <i v-if="formObj.disposal == '1'" @click="savePic('disposal')" class="el-icon-upload2"></i>
  447. <img v-if="downList.disposalUrl" :src="downList.disposalUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.disposalUrl)" title="点击下载" />
  448. </el-form-item>
  449. <el-form-item label="责任机制">
  450. <el-radio v-model="formObj.responsibility" label="1">是</el-radio>
  451. <el-radio v-model="formObj.responsibility" label="2">否</el-radio>
  452. <i v-if="formObj.responsibility == '1'" @click="savePic('responsibility')" class="el-icon-upload2"></i>
  453. <img v-if="downList.responsibilityUrl" :src="downList.responsibilityUrl" style="margin-left:3%;width:40px;height:40px;cursor:pointer;object-fit:cover;border:1px solid #eee;border-radius:4px;" @click="downloadFile(downList.responsibilityUrl)" title="点击下载" />
  454. </el-form-item>
  455. </el-form>
  456. <div slot="footer" class="dialog-footer">
  457. <el-button @click="showaddaz = false">取消</el-button>
  458. <el-button v-if="!isadd" type="primary" @click="saveEditax">保存</el-button>
  459. <el-button v-if="isadd" type="primary" @click="saveAddax">保存</el-button>
  460. </div>
  461. </el-dialog>
  462. <!-- 文件上传组件 -->
  463. <el-upload
  464. ref="upload"
  465. class="upload-demo"
  466. :action="uploadUrl"
  467. :on-success="handleUploadSuccess"
  468. :on-error="handleUploadError"
  469. :file-list="fileList"
  470. :auto-upload="false"
  471. :show-file-list="true"
  472. style="display: none;"
  473. >
  474. <el-button size="small" type="primary">点击上传</el-button>
  475. <div slot="tip" class="el-upload__tip">可以上传任意类型文件</div>
  476. </el-upload>
  477. </div>
  478. </template>
  479. <script>
  480. import request from '../../utils/gw_ajax_request.js'
  481. import {dateFormat} from '../../utils/gw_date.js'
  482. import {getSKList_xsk ,getrgstrIdObject,deleteXSKByObjId,deleteObjByObjId,getList_bzhgd,getrgstrIdObject_jsztfh,getrgstrIdObject_bzhgd_state} from "../../api/duChaTianBao.js";
  483. import addvSearch from "@widget/addvSearch.vue"
  484. import provTreeList from "../../widgets/provTreeList.vue";
  485. import bzhgdTab from "../duChaTianBao/bzhgdTab.vue"
  486. import {curAdcode_short,curAdcode_long} from '@util/global_variable.js'
  487. import {fillColum} from './jieshuizaitifuhe/forDifferentProvince.js'
  488. import { exportModel } from "@util/gw_exportModel";
  489. export default {
  490. components: {
  491. provTreeList: provTreeList,
  492. bzhgdTab:bzhgdTab,
  493. addvSearch
  494. },
  495. props: [],
  496. data() {
  497. return {
  498. formObj: {},
  499. aztbDataList: [],
  500. pageIndex1:1,
  501. pageSize1:20,
  502. showaddaz:false,
  503. total1:0,
  504. openType:false,
  505. tabType:"0",//0全部数据,1当前数据,2历史数据
  506. dateRange:[],
  507. yearLx:'',
  508. lyjg:[],
  509. downList:{},
  510. downListInfo:[],
  511. utTypeL:[
  512. {id:'1',name:'企业'},
  513. {id:'2',name:'机关'},
  514. {id:'3',name:'学校'},
  515. {id:'4',name:'2019整改'},
  516. {id:'5',name:'政府机关'}
  517. ],
  518. utPptL:[
  519. {id:'1',name:'节水型'},
  520. {id:'2',name:'非节水型'}
  521. ],
  522. depName:"",
  523. wintCode:"",
  524. engScale:'',
  525. orgName:'',
  526. groupName:'',
  527. isEdit:false,
  528. groupId:'',
  529. groups:[],
  530. isadd:false,
  531. // sttm:'',
  532. // ettm:'',
  533. adName:'',
  534. treeData:[],
  535. dxdcMainHeight: window.innerHeight - 304,
  536. testHeight: window.innerHeight - 111,
  537. skDataList: [],
  538. pageIndex:1,
  539. pageSize:20,
  540. total:0,
  541. tableHeight:0,
  542. uploadId:'',
  543. currentResCode:'',
  544. currentResName:'',
  545. currentObjectId:'',
  546. currentObjectRgstrId:'',
  547. currentObjectInfoObject:null,
  548. showShuiKuTianBao:false,
  549. currentAdCode:'',
  550. currentNodeId:'',
  551. rsvrName:'',
  552. dcType:'',
  553. expLoading:false,
  554. rowData:'',
  555. disabled:true,
  556. showShuiKuTianBaoPl:false,
  557. downIcon:'el-icon-download',
  558. insuranceFormId: '', // 当前编辑的安责险记录ID
  559. expLoading:false,
  560. //
  561. repeatId: '',
  562. showDuchaDetails: false,
  563. zerenrenLabel: '"三个责任人"落实情况',
  564. pType: 130,
  565. fillTableData: [], //根据不同省份赋值
  566. xskInfoDialog: false,
  567. currentDuchaTpe: false,
  568. currentRsCode: '',
  569. xskRgstrId:'',
  570. currentObjId:'',
  571. currentRsName:'',
  572. endTime: '',
  573. curTime: new Date().getTime(),
  574. flage: false,
  575. isDateRange:false,
  576. uploadUrl: '/file/insert', // 上传接口地址
  577. fileList: [],
  578. currentUploadType: '',
  579. uploadFiles: {},
  580. // 督查弹窗相关
  581. showDuchaDialog: false,
  582. activeTab: 'basicInfo',
  583. duchaForm: {
  584. name: '',
  585. adName: '',
  586. groupName: '',
  587. intm: ''
  588. },
  589. insuranceForm: {
  590. }
  591. };
  592. },
  593. computed: {
  594. persId() {
  595. return localStorage.getItem("userid")
  596. ? localStorage.getItem("userid")
  597. : "1098101939614724096";
  598. },
  599. isAdmin:function(){
  600. return localStorage.getItem("isAdmin")? localStorage.getItem("isAdmin"): ''
  601. },
  602. currentRlcode(){
  603. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  604. },
  605. isJiangXi(){
  606. return this.currentRlcode.indexOf('36') == '0' ? true :false
  607. },
  608. curAdcode_short(){
  609. return curAdcode_short
  610. },
  611. curAdcode_long(){
  612. return curAdcode_long
  613. }
  614. },
  615. mounted() {
  616. this.$nextTick(function () {
  617. this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 50;
  618. let _self = this;
  619. window.onresize = function() {
  620. _self.tableHeight = window.innerHeight - _self.$refs.table.$el.offsetTop - 50
  621. }
  622. })
  623. this.getSkDataList();
  624. this.getAllGroup();
  625. },
  626. activated(){
  627. this.getLeftTreeData();
  628. this.currentNodeId = "";
  629. this.rsvrName = "";
  630. this.dcType = "";
  631. this.getSkDataList();
  632. },
  633. watch: {
  634. currentNodeId(n,o){
  635. this.getSkDataList();
  636. },
  637. groupName(n,o){
  638. if(n==''){
  639. this.groupId = '';
  640. }
  641. },
  642. // endTime(n,o){
  643. // this.flage = this.endTime ? (eval(this.endTime) < eval(this.curTime) ? true : false) : false
  644. // }
  645. },
  646. methods: {
  647. async downloadFile(url){
  648. console.log(url)
  649. console.log(this.downListInfo)
  650. let downloadName = ''
  651. this.downListInfo.forEach((item)=>{
  652. if(item.filePath === url){
  653. let downloadName = item.fileName
  654. }
  655. })
  656. let url1 = url
  657. let type = "get";
  658. await exportModel(type,url1,downloadName);
  659. },
  660. savePic(type){
  661. // 保存当前上传类型
  662. this.currentUploadType = type;
  663. // 触发文件选择对话框
  664. if (this.$refs.upload && this.$refs.upload.$refs.input) {
  665. this.$refs.upload.$refs.input.click();
  666. } else {
  667. // 如果上传组件不存在,创建一个临时的文件输入元素
  668. const input = document.createElement('input');
  669. input.type = 'file';
  670. // input.accept = 'image/*';
  671. input.style.display = 'none';
  672. input.onchange = (e) => {
  673. if (e.target.files && e.target.files[0]) {
  674. const file = e.target.files[0];
  675. this.uploadFiles[type] = file;
  676. // 更新文件列表
  677. this.fileList.push({
  678. name: file.name,
  679. url: URL.createObjectURL(file)
  680. });
  681. this.$message.info('文件已选择,请点击保存按钮上传');
  682. }
  683. document.body.removeChild(input);
  684. };
  685. document.body.appendChild(input);
  686. input.click();
  687. }
  688. },
  689. // 处理文件选择
  690. handleFileChange(file, fileList){
  691. // 存储选择的文件
  692. if (this.currentUploadType) {
  693. this.uploadFiles[this.currentUploadType] = file.raw;
  694. }
  695. this.fileList = fileList;
  696. },
  697. // 处理上传成功
  698. handleUploadSuccess(response, file, fileList){
  699. this.$message.success('上传成功');
  700. // 这里可以根据需要处理上传成功后的逻辑
  701. // 例如更新表单数据或显示上传的图片
  702. console.log('上传成功:', response, this.currentUploadType);
  703. },
  704. // 处理上传失败
  705. handleUploadError(err, file, fileList){
  706. this.$message.error('上传失败,请重试');
  707. console.error('上传失败:', err);
  708. },
  709. saveEditax(){
  710. this.expLoading = true;
  711. request.post('/bis/insp/sixme/record/update',this.formObj).then((res)=>{
  712. if(res.success){
  713. this.uploadFilesFn().then(() => {
  714. this.$message.success('保存成功');
  715. this.showaddaz = false;
  716. this.toAddMember(this.rowData);
  717. this.expLoading = false;
  718. }).catch(() => {
  719. this.expLoading = false;
  720. this.$message.success('基本信息保存成功,但文件上传失败');
  721. this.showaddaz = false;
  722. this.toAddMember(this.rowData);
  723. });
  724. }else{
  725. this.$message.error(res.message);
  726. }
  727. })
  728. },
  729. saveAddax(){
  730. var par = this.formObj;
  731. par.rgstrId = this.rowData.rgstrId;
  732. par.persId = this.persId;
  733. // 先保存基本信息
  734. this.expLoading = true;
  735. request.post('/bis/insp/sixme/record/add',par).then((res)=>{
  736. if(res.success){
  737. // 然后上传文件
  738. this.uploadId = res.data.id;
  739. this.uploadFilesFn().then(() => {
  740. this.expLoading = false;
  741. this.$message.success('保存成功');
  742. this.showaddaz = false;
  743. this.toAddMember(this.rowData);
  744. }).catch(() => {
  745. this.expLoading = false;
  746. this.$message.success('基本信息保存成功,但文件上传失败');
  747. this.showaddaz = false;
  748. this.toAddMember(this.rowData);
  749. });
  750. }else{
  751. this.$message.error(res.message);
  752. }
  753. })
  754. },
  755. // 上传文件方法
  756. uploadFilesFn() {
  757. return new Promise((resolve, reject) => {
  758. // 检查是否有文件需要上传
  759. const uploadPromises = [];
  760. for (const type in this.uploadFiles) {
  761. const file = this.uploadFiles[type];
  762. if (file) {
  763. // 创建FormData对象
  764. const formData = new FormData();
  765. formData.append('file', file);
  766. formData.append('bizType', type);
  767. formData.append('bizId', this.uploadId);
  768. if(!this.isadd){
  769. formData.append('id', this.formObj.id);
  770. }
  771. // 上传文件
  772. uploadPromises.push(
  773. request.post('/file/insert', formData, {
  774. headers: {
  775. 'Content-Type': 'multipart/form-data'
  776. }
  777. })
  778. );
  779. }
  780. }
  781. if (uploadPromises.length > 0) {
  782. Promise.all(uploadPromises)
  783. .then(results => {
  784. console.log('所有文件上传成功:', results);
  785. resolve();
  786. })
  787. .catch(err => {
  788. console.error('文件上传失败:', err);
  789. reject(err);
  790. });
  791. } else {
  792. // 没有文件需要上传,直接 resolve
  793. resolve();
  794. }
  795. });
  796. },
  797. async editAx(row){
  798. this.downList = {}
  799. await request.post('/file/findAllFile',{bizId:row.id}).then((res)=>{
  800. var a = JSON.parse(JSON.stringify(res.data));
  801. this.downListInfo = a
  802. a.forEach((item)=>{
  803. if(item.bizType==='search'){
  804. this.downList.searchUrl = '/pdcApi' + item.filePath;
  805. } else if(item.bizType==='judgment'){
  806. this.downList.judgmentUrl = '/pdcApi' + item.filePath;
  807. } else if(item.bizType==='earlyWarning'){
  808. this.downList.earlyWarningUrl = '/pdcApi' + item.filePath;
  809. } else if(item.bizType==='prevention'){
  810. this.downList.preventionUrl = '/pdcApi' + item.filePath;
  811. } else if(item.bizType==='disposal'){
  812. this.downList.disposalUrl = '/pdcApi' + item.filePath;
  813. } else if(item.bizType==='responsibility'){
  814. this.downList.responsibilityUrl = '/pdcApi' + item.filePath;
  815. }
  816. })
  817. })
  818. this.showaddaz = true;
  819. this.isadd = false;
  820. this.formObj = row;
  821. },
  822. initScore(row){
  823. if(row.total==null || row.total==0){
  824. return 0.00;
  825. }else{
  826. return ((row.standardScore==null?0:row.standardScore)/(row.total) * 100).toFixed(2);
  827. }
  828. },
  829. clearLabel(){
  830. this.formObj = {
  831. }
  832. },
  833. tabChange(tabType){
  834. this.tabType = tabType;
  835. this.currentNodeId = "";
  836. this.groupName = "";
  837. this.groupId = "";
  838. this.getAllGroup();
  839. this.getLeftTreeData();
  840. // this.getSkDataList();
  841. },
  842. //获取所有的组
  843. getAllGroup(){
  844. var _self = this;
  845. request.get('/dc/user/getGroupByPersid',{params:{'persid':this.persId,'ptype':'130','tabType':this.tabType}}).then((res)=>{
  846. if(res.success){
  847. _self.groups = res.data;
  848. }
  849. })
  850. },
  851. querySearchAsync(queryString, cb) {
  852. var restaurants = this.groups;
  853. var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
  854. clearTimeout(this.timeout);
  855. this.timeout = setTimeout(() => {
  856. cb(results);
  857. }, 1500 * Math.random());
  858. },
  859. createStateFilter(queryString) {
  860. return (state) => {
  861. return (state.nm.toLowerCase().indexOf(queryString.toLowerCase()) != -1);
  862. };
  863. },
  864. handleSelect(item) {
  865. console.log(item);
  866. this.groupId = item.id;
  867. },
  868. getLeftTreeData(){
  869. var _self = this;
  870. _self.lyjg = [];
  871. request.get('/dc/organization/base/getAllNode',{params:{'userId':this.persId,'orgType':'130','tabType':this.tabType}}).then((res)=>{
  872. let data = res.data
  873. data.forEach(ele => {
  874. if(ele.pid == null || ele.pid == ''){
  875. ele.pid = '130'
  876. }
  877. if(ele.id.length == 6){
  878. _self.lyjg.push(ele);
  879. }
  880. });
  881. data = _self.getTrees(data)
  882. _self.currentNodeId = data.length>0?data[0].id:"";
  883. // _self.isDateRange = this.getBoolDate(data[0].sttm,data[0].entm);
  884. // _self.flage = _self.isDateRange;
  885. _self.treeData = data;
  886. // _self.endTime = data[0]['entm']
  887. })
  888. },
  889. getBoolDate(sttm,entm){
  890. if(sttm<new Date().getTime() && new Date().getTime()<entm){
  891. return true;
  892. }else if(sttm==null || entm==null){
  893. return true;
  894. }
  895. return false;
  896. },
  897. clearForm(){
  898. this.activeTab = 'basicInfo';
  899. this.insuranceForm = {
  900. };
  901. this.duchaForm = {
  902. }
  903. },
  904. //格式化树形数据
  905. getTrees(list) {
  906. //@wxcwater重写方法 适应多个树
  907. let highLevelLength = 99;//预设最大节点id长度,目前最大应该为12,所以设置为99保证正常
  908. let _self =this;
  909. list.forEach((item,index)=>{
  910. item['pidLength'] = item.pid&&item.pid!=''?item.pid.length:0;
  911. if(highLevelLength>item.pidLength){
  912. highLevelLength = item.pidLength;
  913. }
  914. });
  915. console.log(highLevelLength);
  916. let heightLevelNode = [];
  917. list.forEach((item,index)=>{
  918. if(highLevelLength>=item.pidLength){
  919. heightLevelNode.push(item);
  920. }
  921. });
  922. list.forEach((item,index)=>{
  923. heightLevelNode.forEach((pItem)=>{
  924. _self.addTreeNode(pItem,item);
  925. });
  926. });
  927. console.log(heightLevelNode);
  928. return heightLevelNode;
  929. },
  930. addTreeNode:function(treeNode,leafNode){
  931. let _self = this;
  932. if(!treeNode.hasOwnProperty('children')){
  933. treeNode['children'] = [];
  934. }
  935. if(leafNode.pid == treeNode.id){
  936. treeNode.children.push(leafNode);
  937. return;
  938. }
  939. treeNode.children.forEach((item) => {
  940. _self.addTreeNode(item,leafNode);
  941. });
  942. },
  943. treeNodeClickHandler:function(data,node,tree){
  944. // this.endTime = data['entm']
  945. this.currentNodeId = data.id;
  946. if(this.currentNodeId.length==12){
  947. this.groupId = data.id;
  948. this.groupName = data.pnm;
  949. }
  950. // this.isDateRange = this.getBoolDate(data.sttm,data.entm);
  951. // this.flage = this.isDateRange;
  952. },
  953. provTreeSelectChangeHandler:function(params){
  954. this.currentAdCode = params.likeCode;
  955. this.getSkDataList();
  956. },
  957. formatDate(row,column){
  958. if(row.uptm){
  959. return (dateFormat(row.uptm,'yyyy-MM-dd'));
  960. }
  961. },
  962. formatEngScal(row,column){
  963. let engScal = row.engScal;
  964. let _engScal = '其他';
  965. switch (engScal) {
  966. case '1' : _engScal = '大(1)型';break;
  967. case '2' : _engScal = '大(2)型';break;
  968. case '3' : _engScal = '中型';break;
  969. case '4' : _engScal = '小(1)型';break;
  970. case '5' : _engScal = '小(2)型';break;
  971. case '9' : _engScal = '其他';break;
  972. }
  973. return _engScal;
  974. },
  975. getSkDataList:function(){
  976. let paramStartDate = '';
  977. let paramEndDate = '';
  978. if(this.dateRange&&this.dateRange.length>1&&this.dateRange[0]!=''&&this.dateRange[1]!=''){
  979. paramStartDate = this.dateRange[0];
  980. paramEndDate = this.dateRange[1];
  981. }
  982. let paramsData = {
  983. 'presId': this.persId,
  984. "pType": "130",
  985. year:this.yearLx,
  986. "pageSize": this.pageSize,
  987. 'pageNum': this.pageIndex,
  988. 'id': this.currentNodeId,
  989. 'nm': this.depName,
  990. 'state': this.dcType,
  991. 'adName': this.adName,
  992. 'sttm': paramStartDate,
  993. 'entm': paramEndDate,
  994. 'riverId': this.orgName,
  995. 'wintCode': this.wintCode,
  996. 'groupId': this.groupId,
  997. 'tabType': this.tabType
  998. }
  999. if(this.currentRlcode.indexOf('36') == '0'){
  1000. paramsData['repeatId'] = this.repeatId
  1001. }
  1002. this.expLoading = true;
  1003. request.post('/bis/insp/sixme/rgstr/findPage',paramsData).then((res) => {
  1004. if (res.success) {
  1005. this.skDataList = res.data.list;
  1006. this.total = res.data.total;
  1007. this.expLoading = false;
  1008. } else {
  1009. }
  1010. });
  1011. // getList_bzhgd(paramsData).then(
  1012. // (res) => {
  1013. // console.log(res);
  1014. // res.data.list.forEach((item)=>{
  1015. // if(item.intm){
  1016. // item.intm1 = dateFormat(item.intm,'yyyy-MM-dd');
  1017. // }
  1018. // })
  1019. // this.skDataList = res.data.list;
  1020. // this.total = res.data.total;
  1021. // this.expLoading = false;
  1022. // this.$nextTick(() => {
  1023. // this.$refs.table.doLayout();
  1024. // });
  1025. // }
  1026. // );
  1027. },
  1028. onSubmit(){
  1029. this.getSkDataList();
  1030. },
  1031. skCancelHandler() {
  1032. this.xskInfoDialog = false
  1033. },
  1034. toCheck(rowData){
  1035. this.toAddMember(rowData);
  1036. var _self = this;
  1037. this.rowData = rowData;
  1038. // ;
  1039. console.log(rowData);
  1040. // getrgstrIdObject(rowData.code,rowData.objId,_self.pageIndex).then(
  1041. // (res) =>{
  1042. // console.log(res);
  1043. _self.currentResCode = this.rowData.code;
  1044. _self.currentObjectId = this.rowData.objId;
  1045. _self.currentObjectRgstrId = this.rowData.rgstrId;
  1046. _self.currentResName = this.rowData.nm;
  1047. _self.showShuiKuTianBao = true;
  1048. _self.openType = false;
  1049. },
  1050. add(rowData){
  1051. this.isEdit = false;
  1052. this.toAddMember(rowData)
  1053. },
  1054. getDe(rowData){
  1055. this.isEdit = true;
  1056. this.toAddMember(rowData)
  1057. },
  1058. toAddMember(rowData){
  1059. this.rowData = rowData;
  1060. var paramsData = {
  1061. rgstrId: rowData.rgstrId
  1062. }
  1063. request.post('/bis/insp/sixme/record/list',paramsData).then((res) => {
  1064. if (res.success) {
  1065. this.aztbDataList = res.data.list;
  1066. this.total1 = res.data.total;
  1067. } else {
  1068. }
  1069. });
  1070. request.get(`/bis/insp/sixme/rgstr/getBase/${rowData.rgstrId}`).then((res)=>{
  1071. if(res.success){
  1072. this.duchaForm = res.data
  1073. }else{
  1074. }
  1075. });
  1076. // 显示弹窗
  1077. this.showDuchaDialog = true;
  1078. },
  1079. saveTb() {
  1080. console.log(this.insuranceForm);
  1081. var par = this.insuranceForm;
  1082. par.rgstrId = this.rowData.rgstrId;
  1083. par.id = this.insuranceFormId?this.insuranceFormId:'';
  1084. request.post('/bis/insp/sixme/rgstr/addRecord', par).then((res) => {
  1085. if (res.success) {
  1086. this.$message.success('保存成功');
  1087. } else {
  1088. this.$message.error(res.message);
  1089. }
  1090. });
  1091. },
  1092. cancelHandler(){
  1093. this.showShuiKuTianBao = false;
  1094. },
  1095. addShuiKuSuccess(){
  1096. this.getSkDataList();
  1097. },
  1098. delAx(row){
  1099. this.$confirm('确认删除吗?', '提示', {
  1100. confirmButtonText: '确定',
  1101. cancelButtonText: '取消',
  1102. type: 'warning'
  1103. }).then(() => {
  1104. request.post(`/bis/insp/sixme/record/delete/${row.id}`).then((res)=>{
  1105. if(res.success){
  1106. this.$message.success('删除成功');
  1107. this.toAddMember(this.rowData);
  1108. }else{
  1109. this.$message.error(res.message)
  1110. }
  1111. });
  1112. }).catch(() => {
  1113. });
  1114. },
  1115. deleteMember(obj){
  1116. var _self = this;
  1117. this.$confirm('此操作将督查对象从列表中删除,确认删除该对象吗?', '提示', {
  1118. confirmButtonText: '确定',
  1119. cancelButtonText: '取消',
  1120. type: 'warning'
  1121. }).then(() => {
  1122. request.get(`/supervision/plan/cleanObjDataByObjId?objType=130&objId=${obj.objId}`).then((res)=>{
  1123. if(res.success){
  1124. _self.pageIndexChange();
  1125. _self.$message.success('删除成功')
  1126. }else{
  1127. _self.$message.error(res.message)
  1128. }
  1129. });
  1130. }).catch(() => {
  1131. });
  1132. },
  1133. revoke(rowData){
  1134. var _self = this;
  1135. this.$confirm('确定要撤销当前信息吗?', '提示', {
  1136. confirmButtonText: '确定',
  1137. cancelButtonText: '取消',
  1138. type: 'warning'
  1139. }).then(() => {
  1140. let formObj = {
  1141. "rgstrId":rowData.rgstrId,
  1142. "state":"1"
  1143. }
  1144. request.post('/bis/insp/ststn', formObj).then((res) => {
  1145. if (res.success) {
  1146. _self.addShuiKuSuccess();
  1147. _self.$message.success("提交成功");
  1148. } else {
  1149. _self.cancelHandler();
  1150. }
  1151. });
  1152. }).catch(() => {
  1153. });
  1154. },
  1155. submitHandler(rowData){
  1156. var _self = this;
  1157. getrgstrIdObject_bzhgd_state(rowData.rgstrId).then(
  1158. (res) =>{
  1159. // if(res.data.sceneState !='2'){
  1160. // this.$message({
  1161. // message: '施工现场布置状态填报未完成!',
  1162. // type: 'warning'
  1163. // });
  1164. // return
  1165. // }
  1166. // if(res.data.tmprState !='2'){
  1167. // this.$message({
  1168. // message: '临时工程状态填报未完成!',
  1169. // type: 'warning'
  1170. // });
  1171. // return
  1172. // }
  1173. // if(res.data.safState !='2'){
  1174. // this.$message({
  1175. // message: '安全文明施工填报未完成!',
  1176. // type: 'warning'
  1177. // });
  1178. // return
  1179. // }
  1180. this.$confirm('请确认所有信息填报完毕?', '提示', {
  1181. confirmButtonText: '确定',
  1182. cancelButtonText: '取消',
  1183. type: 'warning'
  1184. }).then(() => {
  1185. let formObj = {
  1186. "rgstrId":rowData.rgstrId,
  1187. "state":"2"
  1188. }
  1189. request.post('/bis/insp/ststn', formObj).then((res) => {
  1190. if (res.success) {
  1191. _self.addShuiKuSuccess();
  1192. _self.$message.success("提交成功");
  1193. } else {
  1194. _self.cancelHandler();
  1195. }
  1196. });
  1197. }).catch(() => {
  1198. });
  1199. },(err) =>{
  1200. });
  1201. },
  1202. pageIndexChange(val){
  1203. console.log(val);
  1204. this.pageIndex = val;
  1205. this.getSkDataList();
  1206. },
  1207. handleSizeChange(val){
  1208. this.getSkDataList();
  1209. },
  1210. pageIndexChange1(val){
  1211. this.pageIndex1 = val;
  1212. this.toAddMember(this.rowData);
  1213. this.activeTab = 'aztb';
  1214. },
  1215. handleSizeChange1(val){
  1216. this.pageSize1 = val;
  1217. this.toAddMember(this.rowData);
  1218. this.activeTab = 'aztb';
  1219. },
  1220. // 下载填报模板
  1221. async downloadTemplate(){
  1222. let url = '/pdcApi/dc/impExcel/downloadTemplate/sk?userId='+this.persId+'&id='+this.currentNodeId;
  1223. let downloadName = "小水库填报模板.xls";
  1224. let type = "get";
  1225. await exportModel(type,url,downloadName);
  1226. this.disabled = false;
  1227. },
  1228. showPlDialog(){
  1229. this.showShuiKuTianBaoPl = true
  1230. },
  1231. closePlDialog(val){
  1232. this.showShuiKuTianBaoPl = false
  1233. },
  1234. // 新需求 点击复查显示以前的督查信息
  1235. toShowDuchaDetail(row){
  1236. this.currentResCode = row.code;
  1237. this.currentObjectId = row.objId;
  1238. this.currentObjectRgstrId = row.rgstrId;
  1239. this.currentResName = row.nm;
  1240. this.showDuchaDetails = true
  1241. },
  1242. closeInfoDialog(){
  1243. this.showDuchaDetails = false
  1244. },
  1245. // 加入复查
  1246. joinRecheck(row){
  1247. let _self = this
  1248. let data = {
  1249. regerId: row.rgstrId,
  1250. type: '130'
  1251. }
  1252. this.$confirm('确定加入复查吗?', '提示', {
  1253. confirmButtonText: '确定',
  1254. cancelButtonText: '取消',
  1255. type: 'warning'
  1256. }).then(() => {
  1257. request.post(`/bis/insp/repeat/check/log`, data).then((res)=>{
  1258. if(res.success){
  1259. _self.$message.success('已加入复查')
  1260. _self.getSkDataList();
  1261. }else{
  1262. _self.$message.error(res.message)
  1263. }
  1264. }).catch(err=>{
  1265. _self.$message.error(res.message)
  1266. });
  1267. }).catch(() => {
  1268. });
  1269. }
  1270. },
  1271. };
  1272. </script>
  1273. <style>
  1274. .skactive{
  1275. background: #3f8eff !important;
  1276. color:white !important;
  1277. margin-top: 5px;
  1278. margin-bottom: 5px;
  1279. }
  1280. .sknormal{
  1281. background: white;
  1282. margin-top: 5px;
  1283. margin-bottom: 5px;
  1284. }
  1285. .el-table .warning-row {
  1286. background: oldlace;
  1287. }
  1288. .el-table .success-row {
  1289. background: #f0f9eb;
  1290. }
  1291. #dxdcListMainsk{
  1292. overflow-y: hidden;
  1293. }
  1294. .tab-content {
  1295. padding: 20px 0;
  1296. }
  1297. .dialog-footer {
  1298. text-align: center;
  1299. }
  1300. .el-icon-upload2,.el-icon-circle-plus{
  1301. color: #00bbff;
  1302. font-size: 18px;
  1303. line-height: 12px;
  1304. vertical-align: middle;
  1305. cursor: pointer;
  1306. }
  1307. </style>