HandleSituation.vue 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859
  1. <template>
  2. <div id="handleSituation">
  3. <div class="left">
  4. <span class="singleButton top_button">
  5. <span class="little_span" :class="[unitList[0].chosen?'little_active':'']" @click="unitChange(unitList[0].code)">{{unitList[0].name}}</span>
  6. </span>
  7. <span class="singleButton middle_button">
  8. <span class="little_span" :class="[unitList[1].chosen?'little_active':'']" @click="unitChange(unitList[1].code)">{{unitList[1].name}}</span>
  9. </span>
  10. </div>
  11. <div class="right">
  12. <div class="right_header">
  13. <div :class="[item.chosen?'botton_top_chosen':'botton_top']" v-for="(item,index) in typeList" :key="index" @click="typeChange(item.code)">{{item.name}}</div>
  14. </div>
  15. <div class="right_content">
  16. <div class="second_title">
  17. <div class="title_left">
  18. <span @click="goLevel" class="title_line" v-for="(item,index) in titleList.slice(0,titleList.length-1)" :key="index">{{item.name}}
  19. <span>/</span>
  20. </span>
  21. <span>{{titleList[titleList.length-1].name}}
  22. </span>
  23. </div>
  24. </div>
  25. <el-form size="small" v-if="firstTable=='first'" :model="form" inline>
  26. <!-- <el-form-item label="时间">-->
  27. <!-- <el-date-picker-->
  28. <!-- size="small"-->
  29. <!-- v-model="formData.value1"-->
  30. <!-- type="date"-->
  31. <!-- placeholder="选择日期">-->
  32. <!-- </el-date-picker>-->
  33. <!-- </el-form-item>-->
  34. <el-form-item label="责任单位">
  35. <el-select v-model="form.responsibleUnit" placeholder="请选择">
  36. <el-option
  37. v-for="item in responsibleUnitList"
  38. :key="item.value"
  39. :label="item.lable"
  40. :value="item.value"
  41. >
  42. </el-option>
  43. </el-select>
  44. </el-form-item>
  45. <el-form-item label="筛选条件">
  46. <el-select v-model="form.category" placeholder="请选择">
  47. <el-option
  48. v-for="item in categoryList"
  49. :key="item.value"
  50. :label="item.label"
  51. :value="item.value">
  52. </el-option>
  53. </el-select>
  54. </el-form-item>
  55. <el-form-item class="btn-i">
  56. <el-button @click="onSubmitSearch">查询</el-button>
  57. <el-button>导出</el-button>
  58. </el-form-item>
  59. </el-form>
  60. <el-form size="small" v-if="firstTable=='second'" :model="detailForm" inline>
  61. <el-form-item label="对象名称">
  62. <el-input v-model="detailForm.TARGET_NAME" placeholder="" clearable></el-input>
  63. </el-form-item>
  64. <el-form-item label="对象类型">
  65. <el-select v-model="detailForm.TARGET_TYPE" placeholder="请选择">
  66. <el-option
  67. v-for="item in objectTypeList"
  68. :key="item.value"
  69. :label="item.label"
  70. :value="item.value">
  71. </el-option>
  72. </el-select>
  73. </el-form-item>
  74. <el-form-item label="证件编号">
  75. <el-input v-model="detailForm.TARGET_LICENSE_NUMBER" placeholder="" clearable></el-input>
  76. </el-form-item>
  77. <el-form-item label="办件状态">
  78. <el-select v-model="detailForm.NODE_STATE" placeholder="请选择">
  79. <el-option
  80. v-for="item in handleStatusList"
  81. :key="item.value"
  82. :label="item.label"
  83. :value="item.value">
  84. </el-option>
  85. </el-select>
  86. </el-form-item>
  87. <el-form-item label="办件类型">
  88. <el-select v-model="detailForm.BANJIAN_STATE" placeholder="请选择">
  89. <el-option
  90. v-for="item in handleTypeList"
  91. :key="item.value"
  92. :label="item.label"
  93. :value="item.value">
  94. </el-option>
  95. </el-select>
  96. </el-form-item>
  97. <el-form-item class="btn-i">
  98. <el-button @click="onSubmitDetailSearch">查询</el-button>
  99. <el-button>导出</el-button>
  100. </el-form-item>
  101. </el-form>
  102. <div class="content_search">
  103. <div class="search_left">
  104. <el-input
  105. v-model="searchContent"
  106. @focus="checkStart"
  107. @blur="checkEnd"
  108. placeholder="请输入搜索内容"
  109. size="medium"
  110. ></el-input>
  111. </div>
  112. <div class="search_right">
  113. <span>共有</span>
  114. <span>{{totalCount}}</span>
  115. <span>条记录</span>
  116. </div>
  117. </div>
  118. <div v-loading="loading" element-loading-text="数据加载中" class="table_info"
  119. element-loading-spinner="el-icon-loading"
  120. element-loading-background="rgba(3, 30, 57, 0.8)">
  121. <div class="content_table">
  122. <!-- @cell-mouse-enter="mouseEnter"-->
  123. <!-- @cell-mouse-leave="mouseLeave"-->
  124. <el-table v-if="firstTable=='first'" ref="Table" :fit='true' :empty-text="loadInfo"
  125. @selection-change="change"
  126. :data="filterData(DataMain)"
  127. :height="tableHeight" row-key="RN"
  128. lazy
  129. :key="Math.random()"
  130. :load="load"
  131. :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
  132. <el-table-column prop="ITEMNAME" label="事项名称">
  133. <template slot-scope="scope">
  134. <span v-if="scope.row.hasChildren" @click="findDetailM(scope.row.MATTERCODE)">{{scope.row.ITEMNAME}}</span>
  135. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailS(scope.row.MATTERCODE,scope.row.SITUATIONCODE)">{{scope.row.ITEMNAME}}</span>
  136. </template>
  137. </el-table-column>
  138. <el-table-column prop="UNIT" label="责任单位" width="220">
  139. </el-table-column>
  140. <el-table-column prop="APPLIED" label="已申请" width="130">
  141. <template slot-scope="scope">
  142. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'1')">{{scope.row.APPLIED}}</span>
  143. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'1')">{{scope.row.APPLIED}}</span>
  144. </template>
  145. </el-table-column>
  146. <el-table-column prop="PENDING" label="待受理" width="130">
  147. <template slot-scope="scope">
  148. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'2')">{{scope.row.PENDING}}</span>
  149. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'2')">{{scope.row.PENDING}}</span>
  150. </template>
  151. </el-table-column>
  152. <el-table-column prop="ACCEPTED" label="已受理" width="130">
  153. <template slot-scope="scope">
  154. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'3')">{{scope.row.ACCEPTED}}</span>
  155. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'3')">{{scope.row.ACCEPTED}}</span>
  156. </template>
  157. </el-table-column>
  158. <el-table-column prop="TOBEDECIDED" label="待决定" width="130">
  159. <template slot-scope="scope">
  160. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'4')">{{scope.row.TOBEDECIDED}}</span>
  161. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'4')">{{scope.row.TOBEDECIDED}}</span>
  162. </template>
  163. </el-table-column>
  164. <el-table-column prop="COMPLETED" label="已办结" width="130">
  165. <template slot-scope="scope">
  166. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'5')">{{scope.row.COMPLETED}}</span>
  167. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'5')">{{scope.row.COMPLETED}}</span>
  168. </template>
  169. </el-table-column>
  170. <el-table-column prop="REMIND" label="提醒" width="130">
  171. <template slot-scope="scope">
  172. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'6')">{{scope.row.REMIND}}</span>
  173. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'6')">{{scope.row.REMIND}}</span>
  174. </template>
  175. </el-table-column>
  176. <el-table-column prop="SUPERVISE" label="督办" width="130">
  177. <template slot-scope="scope">
  178. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'7')">{{scope.row.SUPERVISE}}</span>
  179. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'7')">{{scope.row.SUPERVISE}}</span>
  180. </template>
  181. </el-table-column>
  182. <el-table-column prop="GOOD" label="好评" width="130">
  183. <template slot-scope="scope">
  184. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'8')">{{scope.row.GOOD}}</span>
  185. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'8')">{{scope.row.GOOD}}</span>
  186. </template>
  187. </el-table-column>
  188. <el-table-column prop="BAD" label="差评" width="130">
  189. <template slot-scope="scope">
  190. <span v-if="scope.row.hasChildren" class="show_second" @click="findDetailMatter(scope.row.MATTERCODE,'9')">{{scope.row.BAD}}</span>
  191. <span v-if="!scope.row.hasChildren" class="show_second" @click="findDetailSituation(scope.row.MATTERCODE,scope.row.SITUATIONCODE,'9')">{{scope.row.BAD}}</span>
  192. </template>
  193. </el-table-column>
  194. </el-table>
  195. <el-table v-if="firstTable=='second'" ref="Table" :fit='true' :empty-text="loadInfo"
  196. :data="filterData(DataDetail)"
  197. :height="tableHeight" row-key="RN">
  198. <el-table-column prop="TARGET_NAME" label="办件对象名称" :show-overflow-tooltip="true">
  199. <template slot-scope="scope">
  200. <span class="show_second" @click="showDialog(scope.row.APPLY_NUMBER)">{{scope.row.TARGET_NAME}}</span>
  201. </template>
  202. </el-table-column>
  203. <el-table-column prop="TARGET_TYPE" label="办理对象类型" width="100">
  204. </el-table-column>
  205. <el-table-column prop="TARGET_LICENSE_NUMBER" label="办理对象证件编号" width="150">
  206. </el-table-column>
  207. <el-table-column prop="NODE_STATE" label="办件状态" width="100">
  208. </el-table-column>
  209. <el-table-column prop="BANJIAN_STATE" label="提醒/督办" width="100">
  210. </el-table-column>
  211. <el-table-column prop="STARLEVEL" label="星级" width="80">
  212. </el-table-column>
  213. <el-table-column prop="OPERATION_TIME1" label="提交时间" width="90">
  214. </el-table-column>
  215. <el-table-column prop="OPERATION_TIME2" label="受理时间" width="90">
  216. </el-table-column>
  217. <el-table-column prop="OPERATION_TIME3" label="办结时间" width="90">
  218. </el-table-column>
  219. <el-table-column prop="TERM_SL" label="承诺受理" width="150" :show-overflow-tooltip="true">
  220. </el-table-column>
  221. <el-table-column prop="TERM_BJ" label="承诺办结" width="150" :show-overflow-tooltip="true">
  222. </el-table-column>
  223. <el-table-column prop="COMMENT" label="评价内容" width="350" :show-overflow-tooltip="true">
  224. </el-table-column>
  225. </el-table>
  226. <el-table v-if="firstTable=='third'" ref="Table" :fit='true' :empty-text="loadInfo"
  227. :data="filterData(DataSort)"
  228. :height="tableHeight" row-key="RN">
  229. <el-table-column prop="NAME" label="事项名称" :show-overflow-tooltip="true">
  230. <template slot-scope="scope">
  231. <span class="show_second" @click="showDialog(scope.row.APPLY_NUMBER)">{{scope.row.NAME}}</span>
  232. </template>
  233. </el-table-column>
  234. <el-table-column prop="APPLY_NUMBER" label="办件编号" width="150">
  235. </el-table-column>
  236. <el-table-column prop="UNIT_NAME" label="单位名称" width="200">
  237. </el-table-column>
  238. <el-table-column prop="OPERATION_TIME1" label="提交时间" width="120">
  239. </el-table-column>
  240. <el-table-column prop="OPERATION_TIME2" label="受理时间" width="120">
  241. </el-table-column>
  242. <el-table-column prop="OPERATION_TIME3" label="办结时间" width="120">
  243. </el-table-column>
  244. <el-table-column prop="BJ_TIME" label="办件时间(H)" width="120">
  245. </el-table-column>
  246. <el-table-column prop="TERM_SL" label="承诺受理" width="150" :show-overflow-tooltip="true">
  247. </el-table-column>
  248. <el-table-column prop="TERM_BJ" label="承诺办结" width="150" :show-overflow-tooltip="true">
  249. </el-table-column>
  250. </el-table>
  251. </div>
  252. </div>
  253. <div class="page">
  254. <ele-pagination v-if="tempSearch!=''" @sizeOrPageChange="sizeOrPageChange" :total-count="totalCount" :current-page="currentPage" :page-size="pageSize"/>
  255. </div>
  256. </div>
  257. </div>
  258. <el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible" :width="dialogFormWidth" :top="dialogFormTop">
  259. <div class="guide_body">
  260. <div class="step_menu">
  261. <div class="step_top">
  262. <div class="single_step">
  263. <div class="single_button" :class="[stepList[0].chosen?'single_button_active':'']" @click="chooseStep(stepList[0].id)">
  264. <span class="single_num" :class="[stepList[0].selectable?'single_num_active':'']">{{stepList[0].id}}</span>
  265. </div>
  266. </div>
  267. <div class="line">
  268. <el-divider></el-divider>
  269. </div>
  270. <div class="single_step">
  271. <div class="single_button" :class="[stepList[1].chosen?'single_button_active':'']" @click="chooseStep(stepList[1].id)">
  272. <span class="single_num" :class="[stepList[1].selectable?'single_num_active':'']">{{stepList[1].id}}</span>
  273. </div>
  274. </div>
  275. <div class="line">
  276. <el-divider></el-divider>
  277. </div>
  278. <div class="single_step">
  279. <div class="single_button" :class="[stepList[2].chosen?'single_button_active':'']" @click="chooseStep(stepList[2].id)">
  280. <span class="single_num" :class="[stepList[2].selectable?'single_num_active':'']">{{stepList[2].id}}</span>
  281. </div>
  282. </div>
  283. </div>
  284. <div class="step_bottom">
  285. <div class="single_title">
  286. <span class="single_remarks">{{stepList[0].name}}</span>
  287. </div>
  288. <div class="single_title">
  289. <span class="single_remarks">{{stepList[1].name}}</span>
  290. </div>
  291. <div class="single_title">
  292. <span class="single_remarks">{{stepList[2].name}}</span>
  293. </div>
  294. </div>
  295. </div>
  296. <div class="basic_info">
  297. <div v-for="(item,index) in detailList" :key="index" class="single_item">
  298. <span class="basic_single_title">{{item.title}}:</span>
  299. <span class="basic_single_content">{{item.content}}</span>
  300. </div>
  301. </div>
  302. </div>
  303. </el-dialog>
  304. </div>
  305. </template>
  306. <script>
  307. //import {autoChange, autoRoll} from "@/scroll";
  308. import {mapMutations, mapState} from "vuex";
  309. import ElePagination from "@/components/ele-paga/ElePagination";
  310. let Situationrolltimer = ""; // 自动滚动的定时任务
  311. let Situationchangetimer = ""; // 自动切换的定时任务
  312. export default {
  313. name: "HandleSituation",
  314. components:{ElePagination},
  315. data(){
  316. return{
  317. loading: false,
  318. currentPage:1,
  319. pageSize:10,
  320. DataSort:[],
  321. responsibleUnitList:[],
  322. multipleSelection:[],
  323. objectTypeList:[
  324. {
  325. label:'全部',
  326. value:'',
  327. },
  328. {
  329. label:'企业',
  330. value:'企业',
  331. },
  332. {
  333. label:'个人',
  334. value:'个人',
  335. },
  336. ],
  337. handleTypeList:[
  338. {
  339. label:'全部',
  340. value:'',
  341. },
  342. {
  343. label:'提醒',
  344. value:'1',
  345. },
  346. {
  347. label:'督办',
  348. value:'2',
  349. },
  350. ],
  351. handleStatusList:[
  352. {
  353. label:'全部',
  354. value:'',
  355. },
  356. {
  357. label:'待受理',
  358. value:'1',
  359. },
  360. {
  361. label:'待办结',
  362. value:'2',
  363. },
  364. {
  365. label:'已办结',
  366. value:'3',
  367. },
  368. ],
  369. categoryList:[
  370. {
  371. label:'已申请',
  372. value:'1',
  373. },
  374. {
  375. label:'待受理',
  376. value:'2',
  377. },
  378. {
  379. label:'已受理',
  380. value:'3',
  381. },
  382. {
  383. label:'待决定',
  384. value:'4',
  385. },
  386. {
  387. label:'已办结',
  388. value:'5',
  389. },
  390. {
  391. label:'待提醒',
  392. value:'6',
  393. },
  394. {
  395. label:'待督办',
  396. value:'7',
  397. },
  398. ],
  399. form: {
  400. category: '1',
  401. responsibleUnit:''
  402. },
  403. detailForm:{
  404. TARGET_NAME:'',
  405. TARGET_TYPE:'',
  406. TARGET_LICENSE_NUMBER:'',
  407. NODE_STATE:'',
  408. BANJIAN_STATE:'',
  409. },
  410. typeList:[
  411. {
  412. id:'1',
  413. code:'01',
  414. name:'行政许可',
  415. chosen:false
  416. },
  417. {
  418. id:'2',
  419. code:'07',
  420. name:'行政确认',
  421. chosen:false
  422. },
  423. {
  424. id:'3',
  425. code:'06',
  426. name:'行政奖励',
  427. chosen:false
  428. },
  429. {
  430. id:'4',
  431. code:'08',
  432. name:'行政征收',
  433. chosen:false
  434. },
  435. {
  436. id:'5',
  437. code:'49',
  438. name:'其他权利',
  439. chosen:false
  440. },
  441. {
  442. id:'6',
  443. code:'58',
  444. name:'公共服务',
  445. chosen:false
  446. },
  447. ],
  448. unitList:[
  449. {
  450. id:'1',
  451. code:'1',
  452. name:'住建委',
  453. chosen:false
  454. },
  455. {
  456. id:'2',
  457. code:'2',
  458. name:'房管局',
  459. chosen:false
  460. },
  461. ],
  462. unit_name_type:'1',
  463. type:'',
  464. titleList: [
  465. {
  466. level:'1',
  467. name:'办件情况'
  468. },
  469. ],
  470. second_title:'',
  471. second_code:'',
  472. third_title:'',
  473. firstTable:'first',
  474. DataMain:[],
  475. DataDetail:[],
  476. tableHeight: 0,
  477. totalCount:0,
  478. stepList:[
  479. {
  480. id:'1',
  481. name:'申请',
  482. chosen:true,
  483. selectable:false,
  484. },
  485. {
  486. id:'2',
  487. name:'受理',
  488. chosen:false,
  489. selectable:false,
  490. },
  491. {
  492. id:'3',
  493. name:'办结',
  494. chosen:false,
  495. selectable:false,
  496. },
  497. ],
  498. //模态框参数
  499. dialogTitle:'',
  500. dialogFormWidth:'60%',
  501. dialogFormTop:'10vh',
  502. dialogFormVisible: false,
  503. chosenStep:'1',
  504. detailAllList:[],
  505. detailList:[
  506. {
  507. id:'1',
  508. code:'item_type',
  509. title:'事项类型',
  510. content:''
  511. },
  512. {
  513. id:'2',
  514. code:'item_code',
  515. title:'实施编码',
  516. content:''
  517. },
  518. {
  519. id:'3',
  520. code:'situation_code',
  521. title:'业务办理项编码',
  522. content:''
  523. },
  524. {
  525. id:'4',
  526. code:'Apply_number',
  527. title:'统一审批编码',
  528. content:''
  529. },
  530. {
  531. id:'5',
  532. code:'item_name',
  533. title:'事项名称',
  534. content:''
  535. },
  536. {
  537. id:'6',
  538. code:'target_type',
  539. title:'办理对象类型',
  540. content:''
  541. },
  542. {
  543. id:'7',
  544. code:'target_name',
  545. title:'办理对象名称',
  546. content:''
  547. },
  548. {
  549. id:'8',
  550. code:'target_license_type',
  551. title:'办理对象证件类型',
  552. content:''
  553. },
  554. {
  555. id:'9',
  556. code:'target_license_number',
  557. title:'办理对象证件编号',
  558. content:''
  559. },
  560. {
  561. id:'10',
  562. code:'user_id',
  563. title:'申请经办人用户ID',
  564. content:''
  565. },
  566. {
  567. id:'11',
  568. code:'user_name',
  569. title:'申请经办人姓名',
  570. content:''
  571. },
  572. {
  573. id:'12',
  574. code:'license_type',
  575. title:'申请经办人证件类型',
  576. content:''
  577. },
  578. {
  579. id:'13',
  580. code:'license_number',
  581. title:'申请经办人证件编号',
  582. content:''
  583. },
  584. {
  585. id:'14',
  586. code:'mobile_number',
  587. title:'申请经办人手机号',
  588. content:''
  589. },
  590. {
  591. id:'15',
  592. code:'node_name',
  593. title:'环节名称',
  594. content:''
  595. },
  596. {
  597. id:'16',
  598. code:'suggestion',
  599. title:'处理意见',
  600. content:''
  601. },
  602. {
  603. id:'17',
  604. code:'operation_department_code',
  605. title:'操作部门编号',
  606. content:''
  607. },
  608. {
  609. id:'18',
  610. code:'operation_department_name',
  611. title:'操作部门名称',
  612. content:''
  613. },
  614. {
  615. id:'19',
  616. code:'operation_user_name',
  617. title:'经办人用户姓名',
  618. content:''
  619. },
  620. {
  621. id:'20',
  622. code:'operation_user_id',
  623. title:'经办人用户编号',
  624. content:''
  625. },
  626. {
  627. id:'22',
  628. code:'Data_source',
  629. title:'数据来源单位',
  630. content:''
  631. },
  632. {
  633. id:'23',
  634. code:'operation_time2',
  635. title:'处理时间',
  636. content:''
  637. },
  638. {
  639. id:'24',
  640. code:'operation_department_name',
  641. title:'操作部门名称',
  642. content:''
  643. },
  644. {
  645. id:'25',
  646. code:'SpecialType',
  647. title:'特别程序种类',
  648. content:''
  649. },
  650. {
  651. id:'26',
  652. code:'SpecialReason',
  653. title:'特别程序启动理由或依据',
  654. content:''
  655. },
  656. {
  657. id:'27',
  658. code:'SpecialName',
  659. title:'特别程序种类名称',
  660. content:''
  661. },
  662. {
  663. id:'28',
  664. code:'source',
  665. title:'办件来源',
  666. content:''
  667. },
  668. {
  669. id:'29',
  670. code:'sdfs',
  671. title:'送达方式',
  672. content:''
  673. },
  674. {
  675. id:'30',
  676. code:'SendMethod',
  677. title:'结果证照类型',
  678. content:''
  679. },
  680. {
  681. id:'31',
  682. code:'result',
  683. title:'处理结果',
  684. content:''
  685. },
  686. {
  687. id:'32',
  688. code:'ProjectType',
  689. title:'办件类型',
  690. content:''
  691. },
  692. {
  693. id:'33',
  694. code:'matter_code',
  695. title:'事项编码',
  696. content:''
  697. },
  698. {
  699. id:'34',
  700. code:'method',
  701. title:'处理类型',
  702. content:''
  703. },
  704. {
  705. id:'35',
  706. code:'IsDeliveryResults',
  707. title:'是否快递递送纸质结果',
  708. content:''
  709. },
  710. ],
  711. currentItem :'',
  712. currentIndex : '',
  713. tempSearch:'',
  714. rollPx:1,
  715. refreshTime:5,
  716. rollTime:5,
  717. autoPlay:true,
  718. searchContent:'',
  719. loadInfo:'',
  720. detail_matter_code:'',
  721. detail_situation_code:'',
  722. detail_category:''
  723. }
  724. },
  725. computed:{
  726. ...mapState({
  727. handleRefresh:'handleSituationRefresh',
  728. handleSituationObject:'handleSituation',
  729. })
  730. },
  731. // filters:{
  732. // stateType(state){
  733. // let obj = {
  734. // '1':'已申请',
  735. // '2':'待受理',
  736. // '3':'已受理',
  737. // '4':'待决定',
  738. // '5':'已办结',
  739. // '6':'提醒',
  740. // '7':'督办',
  741. // '8':'好评',
  742. // '9':'差评',
  743. // }
  744. // return obj[state]
  745. // }
  746. // },
  747. mounted() {
  748. if(this.handleRefresh){
  749. // this.handleSituationFirstLevel("1");
  750. // this.handleSituationSecondLevel("");
  751. // this.handleSituationThirdLevel("1");
  752. // this.onSubmitSearch()
  753. this.handleSituationSingleChange([
  754. {
  755. name:'handleSituationFirstLevel',
  756. value:'1'
  757. },
  758. {
  759. name:'handleSituationSecondLevel',
  760. value:''
  761. },
  762. {
  763. name:'handleSituationThirdLevel',
  764. value:'1'
  765. },
  766. {
  767. name:'handleSituationForthLevel',
  768. value:''
  769. },
  770. {
  771. name:'handleSituationFifthLevel',
  772. value:''
  773. },
  774. {
  775. name:'handleSituationSixthLevel',
  776. value:''
  777. },
  778. {
  779. name:'handleSituationSeventhLevel',
  780. value:''
  781. },
  782. {
  783. name:'handleSituationEighthLevel',
  784. value:''
  785. },
  786. ])
  787. }
  788. this.getResponsibleUnit();
  789. //this.onSubmitSearch()
  790. this.$nextTick(function () {
  791. this.tableHeight = window.innerHeight - this.$refs.Table.$el.offsetTop - 100;
  792. // 监听窗口大小变化
  793. let ZJWself = this;
  794. window.onresize = function() {
  795. ZJWself.tableHeight = window.innerHeight - self.$refs.Table.$el.offsetTop - 100;
  796. }
  797. });
  798. // this.autoRoll();
  799. // this.autoChange();
  800. },
  801. methods:{
  802. refreshKey(){
  803. return this.handleSituationObject['handleSituationFirstLevel'] + this.handleSituationObject['handleSituationSecondLevel'] + this.handleSituationObject['handleSituationThirdLevel']
  804. },
  805. getResponsibleUnit(){
  806. this.$request({
  807. url:'/YWTBApi/queryResponsibleDepartment',
  808. method:'post',
  809. data:{
  810. }
  811. }).then(response => {
  812. this.loadInfo ='';
  813. let useData= []
  814. let dataArr = response.data.msg[0].Rows;
  815. useData.push(
  816. {
  817. lable:'全部',
  818. value: '',
  819. }
  820. )
  821. for(let i=0;i<dataArr.length;i++){
  822. let tempdata = {
  823. lable:dataArr[i].RESPONSIBLE_DEPARTMENT,
  824. value: dataArr[i].RESPONSIBLE_DEPARTMENT,
  825. }
  826. useData.push(tempdata);
  827. }
  828. this.responsibleUnitList = useData;
  829. })
  830. },
  831. stateType(state){
  832. let obj = {
  833. '1':'已申请',
  834. '2':'待受理',
  835. '3':'已受理',
  836. '4':'待决定',
  837. '5':'已办结',
  838. '6':'提醒',
  839. '7':'督办',
  840. '8':'好评-已关联',
  841. '9':'差评-已关联',
  842. }
  843. return obj[state]
  844. },
  845. checkChinese(){
  846. this.searchContent = this.searchContent.replace(/[^\u4E00-\u9FA5]/g,'')
  847. },
  848. checkStart(){
  849. this.checkInterval = setInterval(this.checkChinese,100)
  850. },
  851. checkEnd(){
  852. clearInterval(this.checkInterval)
  853. },
  854. unitChange:function(code){
  855. this.goLevel();
  856. for(let i=0;i<this.unitList.length;i++){
  857. if(code==this.unitList[i].code){
  858. this.unitList[i].chosen=true;
  859. this.handleSituationSingleChange([
  860. {
  861. name:'handleSituationFirstLevel',
  862. value:this.unitList[i].code
  863. },
  864. {
  865. name:'handleSituationSecondLevel',
  866. value:''
  867. },
  868. {
  869. name:'handleSituationThirdLevel',
  870. value:'1'
  871. },
  872. ])
  873. }else{
  874. this.unitList[i].chosen=false;
  875. }
  876. }
  877. },
  878. unitChangeOrigion:function(code){
  879. for(let i=0;i<this.unitList.length;i++){
  880. if(code==this.unitList[i].code){
  881. this.unitList[i].chosen=true;
  882. }else{
  883. this.unitList[i].chosen=false;
  884. }
  885. }
  886. },
  887. typeChange:function(code){
  888. this.goLevel();
  889. for(let i=0;i<this.typeList.length;i++){
  890. if(code==this.typeList[i].code){
  891. this.typeList[i].chosen=true;
  892. // this.handleSituationSecondLevel(this.typeList[i].code);
  893. // this.handleSituationThirdLevel("1");
  894. this.handleSituationSingleChange([
  895. {
  896. name:'handleSituationSecondLevel',
  897. value:this.typeList[i].name
  898. },
  899. {
  900. name:'handleSituationThirdLevel',
  901. value:'1'
  902. },
  903. ])
  904. this.type=this.typeList[i].name;
  905. }else{
  906. this.typeList[i].chosen=false;
  907. }
  908. }
  909. },
  910. typeChangeOrigion:function(code){
  911. this.goLevelOrigion();
  912. for(let i=0;i<this.typeList.length;i++){
  913. if(code==this.typeList[i].name){
  914. this.typeList[i].chosen=true;
  915. this.type=this.typeList[i].name;
  916. }else{
  917. this.typeList[i].chosen=false;
  918. }
  919. }
  920. },
  921. selectChange:function (){
  922. this.form.category = this.handleSituationObject['handleSituationThirdLevel'];
  923. },
  924. change(val) {
  925. this.multipleSelection = val;
  926. },
  927. goLevel:function(){
  928. this.handleSituationSingleChange([
  929. {
  930. name:'handleSituationForthLevel',
  931. value:''
  932. },
  933. {
  934. name:'handleSituationFifthLevel',
  935. value:''
  936. },
  937. {
  938. name:'handleSituationSixthLevel',
  939. value:''
  940. },
  941. {
  942. name:'handleSituationSeventhLevel',
  943. value:''
  944. },
  945. {
  946. name:'handleSituationEighthLevel',
  947. value:''
  948. },
  949. {
  950. name:'handleSituationSortTime',
  951. value:''
  952. },
  953. ])
  954. this.totalCount =this.firstCount;
  955. this.titleList = [{
  956. level:'1',
  957. name:'办件情况'
  958. }]
  959. },
  960. goLevelOrigion:function(){
  961. this.totalCount =this.firstCount;
  962. this.titleList = [{
  963. level:'1',
  964. name:'办件情况'
  965. }]
  966. },
  967. onSubmitSearch(){
  968. this.onSubmit();
  969. },
  970. onSubmit(){
  971. this.toClose()
  972. this.DataMain = []; //清空数据
  973. this.loadInfo ='数据加载中';
  974. console.log(this.form.category);
  975. this.$request({
  976. url:'/YWTBApi/queryItemList',
  977. method:'post',
  978. data:{
  979. "RESPONSIBLE_DEPARTMENT":this.form.responsibleUnit,
  980. "CATEGORY":this.form.category,
  981. "DATA_TYPE":this.handleSituationObject['handleSituationSecondLevel'],
  982. "ORGANIZATION":this.handleSituationObject['handleSituationFirstLevel'],
  983. }
  984. }).then(response => {
  985. this.loadInfo ='';
  986. let useData= []
  987. let dataArr = response.data.msg[0].Rows;
  988. console.log(dataArr)
  989. for(let i=0;i<dataArr.length;i++){
  990. let tempdata = {
  991. UNIT:dataArr[i].RESPONSIBLE_DEPARTMENT,
  992. ITEMNAME: dataArr[i].itemName,
  993. TOBEDECIDED: dataArr[i].toBeDecided,
  994. COMPLETED: dataArr[i].Completed,
  995. REMIND: dataArr[i].Remind,
  996. SUPERVISE: dataArr[i].Supervise,
  997. APPLIED: dataArr[i].Applied,
  998. PENDING: dataArr[i].Pending,
  999. ACCEPTED: dataArr[i].Accepted,
  1000. MATTERCODE: dataArr[i].matterCode,
  1001. GOOD:dataArr[i].goodComment,
  1002. BAD:dataArr[i].badComment,
  1003. RN: dataArr[i].itemName + dataArr[i].toBeDecided + dataArr[i].Completed + '-1',
  1004. hasChildren: true
  1005. }
  1006. useData.push(tempdata);
  1007. }
  1008. this.DataMain = useData;
  1009. this.firstCount = response.data.msg[0].TotalRowCount;
  1010. this.totalCount =response.data.msg[0].TotalRowCount;
  1011. })
  1012. },
  1013. // 全部收起
  1014. toClose() {
  1015. if(this.DataMain.length !=0){
  1016. this.open = true
  1017. this.close = false
  1018. const elsopen = this.$el.getElementsByClassName('el-table__expand-icon--expanded')
  1019. if(this.$el.getElementsByClassName('el-table__expand-icon--expanded')){
  1020. for(let i=0;i<elsopen.length;i++){
  1021. elsopen[i].click()
  1022. }
  1023. }
  1024. }
  1025. },
  1026. load(tree, treeNode, resolve) {
  1027. this.toClose();
  1028. this.second_title=tree.ITEMNAME;
  1029. this.second_code = tree.MATTERCODE;
  1030. this.$request({
  1031. url:'/YWTBApi/queryItemList',
  1032. method:'post',
  1033. data:{
  1034. "CATEGORY":this.form.category,
  1035. "MATTER_CODE":tree.MATTERCODE,
  1036. "RESPONSIBLE_DEPARTMENT":this.form.responsibleUnit,
  1037. "DATA_TYPE":this.type,
  1038. "ORGANIZATION":this.unit_name_type,
  1039. }
  1040. }).then(response => {
  1041. if(response == undefined){
  1042. resolve([]);
  1043. return
  1044. }else{
  1045. let useData= []
  1046. let dataArr = response.data.msg[0].Rows;
  1047. for(let i=0;i<dataArr.length;i++){
  1048. let tempdata = {
  1049. UNIT:dataArr[i].unitName,
  1050. ITEMNAME: dataArr[i].situationName,
  1051. TOBEDECIDED: dataArr[i].toBeDecided,
  1052. COMPLETED: dataArr[i].Completed,
  1053. REMIND: dataArr[i].Remind,
  1054. SUPERVISE: dataArr[i].Supervise,
  1055. APPLIED: dataArr[i].Applied,
  1056. PENDING: dataArr[i].Pending,
  1057. ACCEPTED: dataArr[i].Accepted,
  1058. MATTERCODE: tree.MATTERCODE,
  1059. SITUATIONCODE: dataArr[i].situationCode,
  1060. GOOD:dataArr[i].goodComment,
  1061. BAD:dataArr[i].badComment,
  1062. RN: dataArr[i].itemName + dataArr[i].toBeDecided + dataArr[i].Completed + i,
  1063. }
  1064. useData.push(tempdata);
  1065. }
  1066. resolve(useData);
  1067. }
  1068. })
  1069. },
  1070. // 鼠标进入
  1071. mouseEnter() {
  1072. if(this.dialogFormVisible){
  1073. return
  1074. }else{
  1075. // 鼠标进入停止滚动和切换的定时任务
  1076. // console.log("jinlailai");
  1077. this.autoRoll(true);
  1078. this.autoChange(true);
  1079. }
  1080. },
  1081. // 鼠标离开
  1082. mouseLeave() {
  1083. if(this.dialogFormVisible){
  1084. return
  1085. }else {
  1086. // 开启
  1087. this.autoRoll();
  1088. this.autoChange();
  1089. }
  1090. },
  1091. compare(property) {
  1092. return function (a, b) {
  1093. var value1 = a[property];
  1094. var value2 = b[property];
  1095. return value1 - value2;
  1096. }
  1097. },
  1098. getMatterNameDetail(matter_code){
  1099. this.$request({
  1100. url:'/YWTBApi/queryItemList',
  1101. method:'post',
  1102. data:{
  1103. "RESPONSIBLE_DEPARTMENT":'',
  1104. "CATEGORY":'1',
  1105. "DATA_TYPE":'',
  1106. "ORGANIZATION":''
  1107. }
  1108. }).then(response => {
  1109. let dataArr = response.data.msg[0].Rows;
  1110. console.log(dataArr)
  1111. for(let i=0;i<dataArr.length;i++){
  1112. if(matter_code ==dataArr[i].matterCode){
  1113. this.titleList.push(
  1114. {
  1115. level:'2',
  1116. name:dataArr[i].itemName
  1117. }
  1118. )
  1119. this.titleList.sort(this.compare('level'))
  1120. return;
  1121. }
  1122. }
  1123. })
  1124. },
  1125. getSituationNameDetail(matter_code,situation_code){
  1126. this.$request({
  1127. url:'/YWTBApi/queryItemList',
  1128. method:'post',
  1129. data:{
  1130. "MATTER_CODE":matter_code,
  1131. "RESPONSIBLE_DEPARTMENT":'',
  1132. "CATEGORY":'1',
  1133. "DATA_TYPE":'',
  1134. "ORGANIZATION":''
  1135. }
  1136. }).then(response => {
  1137. let dataArr = response.data.msg[0].Rows;
  1138. console.log(dataArr)
  1139. for(let i=0;i<dataArr.length;i++){
  1140. if(situation_code ==dataArr[i].situationCode){
  1141. this.titleList.push(
  1142. {
  1143. level:'3',
  1144. name:dataArr[i].situationName
  1145. }
  1146. )
  1147. this.titleList.sort(this.compare('level'))
  1148. break;
  1149. }
  1150. }
  1151. })
  1152. },
  1153. findDetailSituation(mattercode,situationcode,index){
  1154. this.handleSituationSingleChange([
  1155. {
  1156. name:'handleSituationForthLevel',
  1157. value:mattercode
  1158. },
  1159. {
  1160. name:'handleSituationFifthLevel',
  1161. value:situationcode
  1162. },
  1163. {
  1164. name:'handleSituationSixthLevel',
  1165. value:''
  1166. },
  1167. {
  1168. name:'handleSituationSeventhLevel',
  1169. value:''
  1170. },
  1171. {
  1172. name:'handleSituationEighthLevel',
  1173. value:index
  1174. },
  1175. ])
  1176. },
  1177. findDetailMatter(code,index){
  1178. this.handleSituationSingleChange([
  1179. {
  1180. name:'handleSituationForthLevel',
  1181. value:code
  1182. },
  1183. {
  1184. name:'handleSituationFifthLevel',
  1185. value:''
  1186. },
  1187. {
  1188. name:'handleSituationSixthLevel',
  1189. value:''
  1190. },
  1191. {
  1192. name:'handleSituationSeventhLevel',
  1193. value:''
  1194. },
  1195. {
  1196. name:'handleSituationEighthLevel',
  1197. value:index
  1198. },
  1199. ])
  1200. },
  1201. findDetailS(mattercode,situationcode){
  1202. this.handleSituationSingleChange([
  1203. {
  1204. name:'handleSituationForthLevel',
  1205. value:mattercode
  1206. },
  1207. {
  1208. name:'handleSituationFifthLevel',
  1209. value:situationcode
  1210. },
  1211. {
  1212. name:'handleSituationSixthLevel',
  1213. value:''
  1214. },
  1215. {
  1216. name:'handleSituationSeventhLevel',
  1217. value:''
  1218. },
  1219. {
  1220. name:'handleSituationEighthLevel',
  1221. value:''
  1222. },
  1223. ])
  1224. },
  1225. findDetailM(code){
  1226. //this.getMatterNameDetail(code)
  1227. this.handleSituationSingleChange([
  1228. {
  1229. name:'handleSituationForthLevel',
  1230. value:code
  1231. },
  1232. {
  1233. name:'handleSituationFifthLevel',
  1234. value:''
  1235. },
  1236. {
  1237. name:'handleSituationSixthLevel',
  1238. value:''
  1239. },
  1240. {
  1241. name:'handleSituationSeventhLevel',
  1242. value:''
  1243. },
  1244. {
  1245. name:'handleSituationEighthLevel',
  1246. value:''
  1247. },
  1248. ])
  1249. },
  1250. findDetailMOrigion(code){ //查询事项名称
  1251. this.titleList = [{
  1252. level:'1',
  1253. name:'办件情况'
  1254. }]
  1255. this.getMatterNameDetail(code)
  1256. },
  1257. findDetailSOrigion(code){
  1258. // if(this.second_title !=''){
  1259. // this.titleList.push(
  1260. // {
  1261. // level:'3',
  1262. // name:this.second_title
  1263. // }
  1264. // )
  1265. // this.getSituationNameDetail(this.second_code,code)
  1266. // }else{
  1267. // this.getMatterNameDetail(this.handleSituationObject['handleSituationForthLevel'])
  1268. // this.getSituationNameDetail(this.handleSituationObject['handleSituationForthLevel'],code)
  1269. // }
  1270. this.getSituationNameDetail(this.handleSituationObject['handleSituationForthLevel'],code)
  1271. }, //查询情形名称
  1272. findSXDetailOrgion(index){
  1273. this.titleList.push(
  1274. {
  1275. level:'4',
  1276. name:this.stateType(index)
  1277. }
  1278. )
  1279. },
  1280. onSubmitDetailSearch(){
  1281. this.tempSearch ='onSubmitDetailSearch';
  1282. this.DataDetail = [];
  1283. this.loadInfo ='数据加载中';
  1284. this.loading=true;
  1285. this.$request({
  1286. url:'/YWTBApi/queryBanjianListBySituationCode',
  1287. method:'post',
  1288. data:{
  1289. "SITUATION_CODE":this.handleSituationObject['handleSituationFifthLevel'],
  1290. "MATTER_CODE":this.handleSituationObject['handleSituationForthLevel'],
  1291. "CATEGORY":this.handleSituationObject['handleSituationEighthLevel'],
  1292. "TARGET_NAME":this.detailForm.TARGET_NAME,
  1293. "TARGET_TYPE":this.detailForm.TARGET_TYPE,
  1294. "TARGET_LICENSE_NUMBER":this.detailForm.TARGET_LICENSE_NUMBER,
  1295. "NODE_STATE":this.detailForm.NODE_STATE,
  1296. "BANJIAN_STATE":this.detailForm.BANJIAN_STATE,
  1297. 'pageSize':this.pageSize,
  1298. 'pageIndex':this.currentPage
  1299. }
  1300. }).then(response => {
  1301. this.loading=false;
  1302. this.loadInfo ='';
  1303. let useData= []
  1304. let dataArr = response.data.msg[0].Rows;
  1305. for(let i=0;i<dataArr.length;i++){
  1306. let tempdata = {
  1307. TARGET_NAME: dataArr[i].TARGET_NAME,
  1308. TARGET_TYPE: dataArr[i].TARGET_TYPE,
  1309. TARGET_LICENSE_NUMBER: dataArr[i].TARGET_LICENSE_NUMBER,
  1310. NODE_STATE: dataArr[i].NODE_STATE,
  1311. BANJIAN_STATE: dataArr[i].BANJIAN_STATE,
  1312. COMMENT: dataArr[i].EVALUATION_CONTENT,
  1313. STARLEVEL: dataArr[i].OVERALL_SATISFACTION,
  1314. OPERATION_TIME1: dataArr[i].OPERATION_TIME1,
  1315. OPERATION_TIME2: dataArr[i].OPERATION_TIME2,
  1316. OPERATION_TIME3: dataArr[i].OPERATION_TIME3,
  1317. APPLY_NUMBER: dataArr[i].APPLY_NUMBER,
  1318. CNBJSXSM: dataArr[i].CNBJSXSM,
  1319. RN: dataArr[i].RN,
  1320. }
  1321. useData.push(tempdata);
  1322. }
  1323. this.DataDetail = useData;
  1324. this.totalCount =response.data.msg[0].TotalRowCount;
  1325. })
  1326. },
  1327. showDialog(MATTERCODE){
  1328. this.$request({
  1329. url:'/YWTBApi/getBanjianInfoByApplyNumber',
  1330. method:'post',
  1331. data:{
  1332. "APPLY_NUMBER":MATTERCODE,
  1333. }
  1334. }).then(response => {
  1335. this.detailAllList = response.data.msg[0].Rows;
  1336. this.fillDialogDetail();
  1337. })
  1338. this.dialogFormVisible = true;
  1339. //this.chooseStep('1');
  1340. },
  1341. fillDialogDetail(){
  1342. this.selectableStep();
  1343. this.dialogTitle = this.detailAllList[0]["TARGET_NAME"] + '-详情';
  1344. this.chooseStep('1');
  1345. },
  1346. chooseStep(id){
  1347. for(let i=0;i<this.stepList.length;i++){
  1348. if(id ==this.stepList[i].id&&!this.stepList[i].selectable){
  1349. return
  1350. }
  1351. }
  1352. for(let i=0;i<this.stepList.length;i++){
  1353. this.chosenStep= id;
  1354. if(id==this.stepList[i].id){
  1355. this.stepList[i].chosen = true;
  1356. this.showChosenData(this.stepList[i].id);
  1357. }else{
  1358. if(this.stepList[i].selectable){
  1359. this.stepList[i].chosen = false;
  1360. }
  1361. }
  1362. }
  1363. },
  1364. selectableStep(){
  1365. for(let i=0;i<this.detailAllList.length;i++){
  1366. let node = this.detailAllList[i].NODE_NAME;
  1367. if(node=="1"){
  1368. this.stepList[0].selectable = true;
  1369. }else if(node=="5"){
  1370. this.stepList[1].selectable = true;
  1371. }else if(node=="6"||node=="7"||node=="8"){
  1372. this.stepList[2].selectable = true;
  1373. }
  1374. }
  1375. },
  1376. showChosenData(index){
  1377. if(index == '1'){
  1378. for(let i=0;i<this.detailAllList.length;i++){
  1379. let node = this.detailAllList[i].NODE_NAME;
  1380. if(node=="1"){
  1381. this.singleDetail(i);
  1382. }
  1383. }
  1384. }else if(index == '2'){
  1385. for(let i=0;i<this.detailAllList.length;i++){
  1386. let node = this.detailAllList[i].NODE_NAME;
  1387. if(node=="5"){
  1388. this.singleDetail(i);
  1389. }
  1390. }
  1391. }else if(index == '3'){
  1392. for(let i=0;i<this.detailAllList.length;i++){
  1393. let node = this.detailAllList[i].NODE_NAME;
  1394. if(node=="6"||node=="7"||node=="8"){
  1395. this.singleDetail(i);
  1396. }
  1397. }
  1398. }
  1399. },
  1400. singleDetail(rn){
  1401. for(let index in this.detailAllList[rn]){
  1402. for(let j =0;j<this.detailList.length;j++){
  1403. if(index==this.detailList[j].code.toUpperCase()){
  1404. this.detailList[j].content = this.detailAllList[rn][index];
  1405. }
  1406. }
  1407. }
  1408. },
  1409. sortSearch(){
  1410. this.$nextTick(function () {
  1411. this.tableHeight = window.innerHeight - this.$refs.Table.$el.offsetTop - 100;
  1412. // 监听窗口大小变化
  1413. let ZJWself = this;
  1414. window.onresize = function() {
  1415. ZJWself.tableHeight = window.innerHeight - self.$refs.Table.$el.offsetTop - 100;
  1416. }
  1417. });
  1418. this.tempSearch ='sortSearch';
  1419. this.DataSort = [];
  1420. this.$request({
  1421. url:'/YWTBApi/queryBanjianTimeList',
  1422. method:'post',
  1423. data:{
  1424. "TYPE":this.handleSituationObject['handleSituationSortTime'],
  1425. 'pageSize':this.pageSize,
  1426. 'pageIndex':this.currentPage
  1427. }
  1428. }).then(response => {
  1429. this.loadInfo ='';
  1430. let dataArr = response.data.msg[0].Rows;
  1431. console.log(dataArr)
  1432. if(dataArr.length >0){
  1433. this.DataSort = dataArr;
  1434. }else{
  1435. this.DataSort = [];
  1436. }
  1437. this.totalCount =response.data.msg[0].TotalRowCount;
  1438. })
  1439. },
  1440. // 设置自动滚动
  1441. autoRoll(stop) {
  1442. if (stop) {
  1443. clearInterval(Situationrolltimer);
  1444. return;
  1445. }
  1446. // 拿到表格挂载后的真实DOM
  1447. const table = this.$refs.Table;
  1448. // 拿到表格中承载数据的div元素
  1449. const divData = table.bodyWrapper;
  1450. // 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果
  1451. Situationrolltimer = setInterval(() => {
  1452. // 元素自增距离顶部像素
  1453. divData.scrollTop += this.rollPx;
  1454. // 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)
  1455. if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) {
  1456. // 重置table距离顶部距离
  1457. divData.scrollTop = 0;
  1458. }
  1459. }, this.rollTime * 10);
  1460. },
  1461. // 设置自动切换
  1462. autoChange(stop) {
  1463. if (stop) {
  1464. clearInterval(Situationchangetimer);
  1465. return;
  1466. }
  1467. Situationchangetimer = setInterval(() => {
  1468. this.autoPlay = !this.autoPlay;
  1469. this.autoRoll(true); // 先清除定时器
  1470. this.autoRoll(); // 再开启定时器
  1471. }, this.refreshTime * 1000);
  1472. },
  1473. filterData(data) {
  1474. var input = this.searchContent && this.searchContent.toLowerCase();
  1475. //var input = searchContent.toLowerCase()
  1476. var items = data;
  1477. var items1;
  1478. if (input) {
  1479. items1 = items.filter(function(item) {
  1480. return Object.keys(item).some(function(key1) {
  1481. return String(item[key1])
  1482. .toLowerCase()
  1483. .match(input);
  1484. });
  1485. });
  1486. } else {
  1487. items1 = items;
  1488. }
  1489. return items1;
  1490. },
  1491. sizeOrPageChange(page,size){
  1492. this.currentPage = page;
  1493. this.pageSize = size;
  1494. if(this.tempSearch =='onSubmitDetailSearch'){
  1495. this.onSubmitDetailSearch()
  1496. }else if(this.tempSearch =='sortSearch'){
  1497. this.sortSearch()
  1498. }
  1499. },
  1500. ...mapMutations(['handleSituationRefresh','handleSituation','handleSituationSingleChange'])
  1501. },
  1502. beforeDestroy(){ // 组件销毁前调用
  1503. clearInterval(Situationrolltimer);
  1504. clearInterval(Situationchangetimer);
  1505. },
  1506. watch: {
  1507. firstTable(val){
  1508. if(val){
  1509. this.detailForm =this.$options.data().detailForm;
  1510. }
  1511. },
  1512. dialogFormVisible: function (val) {
  1513. console.log(val)
  1514. // if(!val){
  1515. // this.mouseLeave();//继续滚动
  1516. // }
  1517. },
  1518. handleSituationObject(val){
  1519. if(val['handleSituationSortTime']==''){
  1520. if(val['handleSituationForthLevel']!==''||val['handleSituationFifthLevel']!==''){
  1521. this.firstTable='second';
  1522. this.detailForm.NODE_STATE = val['handleSituationSixthLevel'] ;
  1523. this.detailForm.BANJIAN_STATE = val['handleSituationSeventhLevel'] ;
  1524. if(val['handleSituationForthLevel']!==''){
  1525. this.findDetailMOrigion(val['handleSituationForthLevel']);
  1526. }
  1527. if(val['handleSituationFifthLevel']!==''){
  1528. this.findDetailSOrigion(val['handleSituationFifthLevel']);
  1529. }
  1530. if(val['handleSituationEighthLevel']!==''){
  1531. this.findSXDetailOrgion(val['handleSituationEighthLevel']);
  1532. }
  1533. this.onSubmitDetailSearch();
  1534. }else{
  1535. this.firstTable = 'first';
  1536. this.unitChangeOrigion(val['handleSituationFirstLevel']);
  1537. this.typeChangeOrigion(val['handleSituationSecondLevel'])
  1538. this.selectChange();
  1539. this.onSubmitSearch();
  1540. }
  1541. }else{
  1542. this.firstTable = 'third';
  1543. this.sortSearch(val['handleSituationSortTime']);
  1544. }
  1545. },
  1546. }
  1547. }
  1548. </script>
  1549. <style scoped lang="scss">
  1550. #handleSituation{
  1551. width: 100%;
  1552. height: 100%;
  1553. display: flex;
  1554. overflow: hidden;
  1555. justify-content: flex-start;
  1556. @media screen and (max-height: 980px) {
  1557. background: url("../../assets/imgs/带手指低.png") no-repeat;
  1558. }
  1559. @media screen and (min-height: 980px) {
  1560. background: url("../../assets/imgs/带手指高.png") no-repeat;
  1561. }
  1562. background-size: 100% !important;
  1563. width:99%;
  1564. margin-left: 0.5%;
  1565. .left{
  1566. width:2%;
  1567. padding-left: 0.55%;
  1568. padding-top: 70px;
  1569. height:100%;
  1570. display: flex;
  1571. flex-direction: column;
  1572. align-items: center;
  1573. .singleButton{
  1574. cursor: pointer;
  1575. width:34px;
  1576. height:144px;
  1577. border-radius: 4px;
  1578. border: none;
  1579. padding-top: 10px;
  1580. display: flex;
  1581. flex-direction: column;
  1582. flex-wrap: nowrap;
  1583. justify-content: center;
  1584. align-items: center;
  1585. font-size: 18px;
  1586. color: #25a9ee;
  1587. .little_span{
  1588. width:18px;
  1589. }
  1590. .little_active{
  1591. color: #fff;
  1592. }
  1593. }
  1594. .top_button{
  1595. background:url("../../assets/imgs/住建委.png") no-repeat;
  1596. background-size: 100%;
  1597. }
  1598. .middle_button{
  1599. background:url("../../assets/imgs/房管局.png") no-repeat;
  1600. background-size: 100%;
  1601. }
  1602. .singleButton:focus,
  1603. .singleButton:hover {
  1604. color: #fff;
  1605. }
  1606. }
  1607. .right{
  1608. width:95%;
  1609. height:100%;
  1610. display: flex;
  1611. flex-direction: column;
  1612. align-items: center;
  1613. justify-content: flex-start;
  1614. .right_header{
  1615. width: 97%;
  1616. height: 12%;
  1617. display: flex;
  1618. flex-direction: row;
  1619. flex-wrap: nowrap;
  1620. justify-content: center;
  1621. align-items: center;
  1622. .botton_top_chosen{
  1623. width: 177px;
  1624. height: 44px;
  1625. color: #fdbf00;
  1626. font-size: 24px;
  1627. font-weight: bold;
  1628. font-family: 微软雅黑;
  1629. background:url("../../assets/imgs/下载1.png") no-repeat;
  1630. background-size: 100%;
  1631. border-color: transparent;
  1632. text-align: center;
  1633. line-height: 44px;
  1634. cursor: pointer;
  1635. }
  1636. .botton_top:focus,
  1637. .botton_top:hover {
  1638. background:url("../../assets/imgs/下载1.png") no-repeat;
  1639. background-size: 100%;
  1640. }
  1641. .botton_top {
  1642. width: 177px;
  1643. height: 44px;
  1644. color: #FFF;
  1645. font-size: 24px;
  1646. font-weight: bold;
  1647. font-family: 微软雅黑;
  1648. background:url("../../assets/imgs/下载2.png") no-repeat;
  1649. background-size: 100%;
  1650. border-color: transparent;
  1651. text-align: center;
  1652. line-height: 44px;
  1653. cursor: pointer;
  1654. }
  1655. }
  1656. .right_content{
  1657. padding-left: 2%;
  1658. width:100%;
  1659. .second_title{
  1660. color: #FFF;
  1661. display: flex;
  1662. flex-direction: row;
  1663. justify-content: space-between;
  1664. width: 100%;
  1665. height: 40px;
  1666. .title_left{
  1667. width: 80%;
  1668. height: 25px;
  1669. font-size: 18px;
  1670. display: flex;
  1671. flex-direction: row;
  1672. .single_title{
  1673. cursor: pointer;
  1674. }
  1675. .title_line{
  1676. border-bottom: 1px solid #71D7FF;
  1677. cursor: pointer;
  1678. color: #71D7FF;
  1679. }
  1680. }
  1681. }
  1682. .content_search{
  1683. color: #FFF;
  1684. display: flex;
  1685. flex-direction: row;
  1686. justify-content: space-between;
  1687. width: 100%;
  1688. height: 50px;
  1689. .search_left{
  1690. width: 50%;
  1691. height: 100%;
  1692. font-size: 18px;
  1693. display: flex;
  1694. flex-direction: row;
  1695. .single_title{
  1696. cursor: pointer;
  1697. }
  1698. }
  1699. .search_right{
  1700. width: 50%;
  1701. height: 100%;
  1702. font-size: 17px;
  1703. display: flex;
  1704. flex-direction: row;
  1705. justify-content: flex-end;
  1706. }
  1707. }
  1708. .table_info{
  1709. width: 100%;
  1710. }
  1711. .content_table{
  1712. .show_second{
  1713. cursor: pointer;
  1714. text-decoration: underline
  1715. }
  1716. }
  1717. }
  1718. }
  1719. .guide_body{
  1720. color: #FFF;
  1721. .step_menu{
  1722. width: 100%;
  1723. height: 80px;
  1724. display: flex;
  1725. flex-direction: column;
  1726. .step_top{
  1727. width: 100%;
  1728. height:40px;
  1729. display: flex;
  1730. flex-direction: row;
  1731. justify-content: center;
  1732. .single_step{
  1733. width: 4.15%;
  1734. height:100%;
  1735. display: flex;
  1736. justify-content: center;
  1737. align-items: center;
  1738. cursor: pointer;
  1739. .single_button{
  1740. border:1px solid #2c91cc;
  1741. width: 32px;
  1742. height: 32px;
  1743. border-radius: 16px;
  1744. display: flex;
  1745. justify-content: center;
  1746. align-items: center;
  1747. .single_num{
  1748. color: #8c8c8c;
  1749. }
  1750. .single_num_active{
  1751. color: #fff;
  1752. }
  1753. }
  1754. .single_button_active,.single_button:focus,.single_button:hover{
  1755. background-color: #02ade4;
  1756. }
  1757. }
  1758. .line{
  1759. width: 19%;
  1760. height:100%;
  1761. display: flex;
  1762. justify-content: center;
  1763. align-items: center;
  1764. }
  1765. }
  1766. .step_bottom{
  1767. width: 100%;
  1768. height:40px;
  1769. display: flex;
  1770. flex-direction: row;
  1771. justify-content: center;
  1772. align-items: center;
  1773. .single_title{
  1774. width: 23%;
  1775. display: flex;
  1776. justify-content: center;
  1777. align-items: center;
  1778. .single_remarks{
  1779. font-size: 18px;
  1780. }
  1781. }
  1782. }
  1783. }
  1784. .basic_info{
  1785. width: 100%;
  1786. padding-left: 20px;
  1787. height: 500px;
  1788. overflow-y:auto;
  1789. font-size: 14px;
  1790. display: flex;
  1791. flex-direction: row;
  1792. flex-wrap: wrap;
  1793. align-content: space-around;
  1794. justify-content: flex-start;
  1795. .single_item{
  1796. width: 32%;
  1797. height:40px;
  1798. display: flex;
  1799. align-items: center;
  1800. .basic_single_title{
  1801. color: #71d7ff;
  1802. }
  1803. .basic_single_content{
  1804. padding-left: 20px;
  1805. }
  1806. }
  1807. }
  1808. }
  1809. .page{
  1810. margin-top: 20px;
  1811. text-align: right;
  1812. }
  1813. }
  1814. </style>