MenuMine.vue 66 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817
  1. <template>
  2. <!--矿井信息-->
  3. <div class="l_Dialog bou tablebk">
  4. <div class="common-layout" style="margin: 0" >
  5. <el-aside
  6. width="480px"
  7. class="L_aside L_aside1 asideg asidegbg leftbgimg1"
  8. v-show="dialogVisible"
  9. >
  10. <div class="demo-collapse">
  11. <el-collapse v-model="coolactiveName1" accordion>
  12. <el-collapse-item name="1" class=" btnicon">
  13. <template #title>
  14. <el-icon class="iconimg Frame3 " fit="contain"></el-icon>
  15. 矿井信息<el-icon class="header-icon"> </el-icon>
  16. </template>
  17. <div class="asides_content">
  18. <div class="jc_content tablecolor">
  19. <div class="jc_padding font12">
  20. <div class="xian btncolor tablefocus bmar">
  21. <!--内容 -->
  22. <div class="classtab">
  23. <el-tabs v-model="resultactiveName" type="card" class="demo-tabs" @tab-click="handleClick"
  24. :stretch="true">
  25. <el-tab-pane label="节点信息" name="first">
  26. <div class="asides_content">
  27. <div class="jc_content tablecolor jc_content">
  28. <div class="font12 my_content1">
  29. <div class=" btncolor tablefocus bmar">
  30. <el-table :data="tableData2" style="width:480px" :max-height="tableHeight"
  31. :highlight-current-row="currentrow" :row-class-name="tableRowClassName"
  32. @row-click="handleDelete($event)"
  33. :header-cell-style="{ 'background': 'rgba(13, 22, 57,0) ' }">
  34. <template v-slot:empty>
  35. <p>暂无数据</p>
  36. </template>
  37. <el-table-column prop="id" label="序号" width="80px" />
  38. <!-- <el-table-column prop="code" label="节点编号" /> -->
  39. <el-table-column prop="name" label="节点名称" />
  40. <el-table-column prop="x" label="X" >
  41. <template #default="scope">
  42. <span>{{ Number(scope.row.x).toFixed(2)}}</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="y" label="Y" >
  46. <template #default="scope">
  47. <span>{{ Number(scope.row.y).toFixed(2)}}</span>
  48. </template>
  49. </el-table-column>
  50. <el-table-column prop="z" label="Z">
  51. <template #default="scope">
  52. <span>{{ Number(scope.row.z).toFixed(2)}}</span>
  53. </template>
  54. </el-table-column>
  55. </el-table>
  56. <div class="demo-pagination-block pagination" style="margin-top: 20px;">
  57. <el-config-provider :locale="zhCn">
  58. <el-pagination v-model:current-page="currentPage4"
  59. v-model:page-size="pageSize4" small background
  60. layout="prev, total,pager, next, jumpe," :total="parseInt(total)"
  61. class="mt-4" @current-change="handleCurrentChange" />
  62. </el-config-provider>
  63. </div>
  64. </div>
  65. </div>
  66. <div class="dialog-footer footer_div l_btn">
  67. <div class="footerbtn flex1">
  68. <div class="borderimg"><el-button @click="addsg();">添加</el-button></div>
  69. </div>
  70. <div class="footerbtn flex1">
  71. <div class="borderimg"><el-button @click="nodedelete()">
  72. 删除
  73. </el-button></div>
  74. </div>
  75. <div class="footerbtn flex1">
  76. <div class="borderimg"><el-button @click="accident()">
  77. 修改
  78. </el-button></div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </el-tab-pane>
  84. <el-tab-pane label="巷道信息" name="second">
  85. <div class="asides_content">
  86. <div class="jc_content tablecolor jc_content">
  87. <div class="font12 my_content1">
  88. <div class="btncolor tablefocus bmar">
  89. <el-table :row-class-name="tableRowClassName" :max-height="tableHeight"
  90. ref="multipleTableRef" :highlight-current-row="currentrow1"
  91. @row-click="handleDelete2($event)" :data="tableData3" style="width: 100%"
  92. :header-cell-style="{ 'background': 'rgba(13, 22, 57, 0) ' }">
  93. <template v-slot:empty>
  94. <p>暂无数据</p>
  95. </template>
  96. <el-table-column property="id" label="序号" />
  97. <!-- <el-table-column property="snId" label="开始节点" />
  98. <el-table-column property="enId" label="结束节点" />
  99. <el-table-column property="code" label="编号" /> -->
  100. <el-table-column property="name" label="名称"/>
  101. <el-table-column property="sectionType" label="截面类型" width="120" />
  102. <el-table-column property="roughCoe" label="粗糙系数" width="120"/>
  103. <!-- <el-table-column property="sectionPara1" label="截面参数1" width="90" />
  104. <el-table-column property="sectionPara2" label="截面参数2" width="90" />
  105. <el-table-column property="sectionPara3" label="截面参数3" width="90" />
  106. <el-table-column property="sectionPara4" label="截面参数4" width="90" />
  107. <el-table-column property="sectionPara5" label="截面参数5" width="90" /> -->
  108. </el-table>
  109. <div class="demo-pagination-block pagination" style="margin-top: 20px;">
  110. <el-config-provider :locale="zhCn">
  111. <el-pagination v-model:current-page="gd.currentPage4"
  112. v-model:page-size="gd.pageSize4" small background
  113. layout="prev, total,pager, next, jumpe," :total="parseInt(gd.total)"
  114. class="mt-4" @current-change="handleCurrentChange2" />
  115. </el-config-provider>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="dialog-footer footer_div l_btn">
  120. <div class="footerbtn flex1">
  121. <div class="borderimg"><el-button @click="guandaoadd();">添加</el-button></div>
  122. </div>
  123. <div class="footerbtn flex1">
  124. <div class="borderimg"><el-button @click="nodedelete2();">
  125. 删除
  126. </el-button></div>
  127. </div>
  128. <div class="footerbtn flex1">
  129. <div class="borderimg"><el-button @click="accident2()">
  130. 修改
  131. </el-button></div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </el-tab-pane>
  137. <!-- <el-tab-pane label="设备信息" name="third">
  138. </el-tab-pane>
  139. <el-tab-pane label="网络信息" name="thirds">
  140. </el-tab-pane> -->
  141. </el-tabs>
  142. </div>
  143. <!-- 添加弹窗 -->
  144. <el-dialog v-model="sdialog.adddialog" align-center :append-to-body="true" width="480" class="dialog_class bgcolor tianjia">
  145. <template #header="{ titleId, titleClass }">
  146. <div class="my-header ">
  147. <el-image :src="icon" fit="contain"></el-image>
  148. <h4 :id="titleId" :class="titleClass">{{ zhtext }}</h4>
  149. </div>
  150. </template>
  151. <div>
  152. <el-form>
  153. <el-form-item label="编号" :label-width="formLabelWidth6">
  154. <el-input v-model="nodeobj.code" maxlength="10" oninput ="value=value.replace(/[^\w\\/]/ig,'')" class="w-50 m-2" placeholder="请输入" />
  155. </el-form-item>
  156. <el-form-item label="名称" :label-width="formLabelWidth6">
  157. <el-input v-model="nodeobj.name" maxlength="18" oninput ="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" class="w-50 m-2" placeholder="请输入" />
  158. </el-form-item>
  159. <el-form-item label="X" :label-width="formLabelWidth6">
  160. <el-input v-model="nodeobj.x" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  161. </el-form-item>
  162. <el-form-item label="Y" :label-width="formLabelWidth6">
  163. <el-input v-model="nodeobj.y" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  164. </el-form-item>
  165. <el-form-item label="Z" :label-width="formLabelWidth6">
  166. <el-input v-model="nodeobj.z" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  167. </el-form-item>
  168. </el-form>
  169. </div>
  170. <div class="dialog-footer footer_div l_btn">
  171. <div class="footerbtn flex1">
  172. <div class="borderimg"><el-button @click="sdialog.adddialog = false">取消</el-button>
  173. </div>
  174. </div>
  175. <div class="footerbtn flex1">
  176. <div class="borderimg"><el-button @click="nodeconfirm()">
  177. 确定
  178. </el-button></div>
  179. </div>
  180. </div>
  181. </el-dialog>
  182. <!-- 删除 -->
  183. <el-dialog v-model="sdialog.dialogsgdelect" align-center :append-to-body="true" width="400" class="dialog_class bgcolor tianjia">
  184. <template #header="{ titleId, titleClass }">
  185. <div class="my-header ">
  186. <el-image :src="icon" fit="contain"></el-image>
  187. <h4 :id="titleId" :class="titleClass">删除框</h4>
  188. </div>
  189. </template>
  190. <h4 class="delecttitle"> 是否确认删除 <span class="spanclad">{{ zqname }}</span></h4>
  191. <div class="dialog-footer footer_div l_btn">
  192. <div class="footerbtn flex1">
  193. <div class="borderimg"><el-button @click="sdialog.dialogsgdelect = false">取消</el-button></div>
  194. </div>
  195. <div class="footerbtn flex1">
  196. <div class="borderimg"><el-button @click="nodedeleteapi(); sdialog.dialogsgdelect = false">
  197. 确定
  198. </el-button></div>
  199. </div>
  200. </div>
  201. </el-dialog>
  202. <!-- 添加 -->
  203. <el-dialog v-model="sdialog.gdadddialog" align-center :modal="false" :close-on-click-modal="false"
  204. :append-to-body="true" draggable width="480" class="dialog_class bgcolor tianjia">
  205. <template #header="{ titleId, titleClass }">
  206. <div class="my-header ">
  207. <el-image :src="icon" fit="contain"></el-image>
  208. <h4 :id="titleId" :class="titleClass">{{ zhtext }}</h4>
  209. </div>
  210. </template>
  211. <div>
  212. <el-form-item label="编号" :label-width="formLabelWidth7">
  213. <el-input v-model="guandaoobj.code" maxlength="10" oninput ="value=value.replace(/[^\w\\/]/ig,'')" class="w-50 m-2" placeholder="请输入" />
  214. </el-form-item>
  215. <el-form-item label="名称" :label-width="formLabelWidth7">
  216. <el-input v-model="guandaoobj.name" maxlength="18" class="w-50 m-2" placeholder="请输入" />
  217. </el-form-item>
  218. <div class="demo-input-suffix firsttitle magintop guand_1">
  219. <el-form-item label="开始节点" :label-width="formLabelWidth7">
  220. <el-input v-model="guandaoobj.snId" disabled class="w-50 m-2" oninput ="value=value.replace(/[^0-9.]/g,'')" placeholder="请选择节点" />
  221. </el-form-item>
  222. <div class="btn2">
  223. <el-button type="primary" @click="nodeclick('start');">选择开始节点</el-button>
  224. </div>
  225. </div>
  226. <div class="demo-input-suffix firsttitle magintop guand_1">
  227. <el-form-item label="结束节点" :label-width="formLabelWidth7">
  228. <el-input v-model="guandaoobj.enId" disabled="disabled" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请选择节点" />
  229. </el-form-item>
  230. <div class="btn2">
  231. <el-button type="primary" @click="nodeclick('end');">选择结束节点</el-button>
  232. </div>
  233. </div>
  234. <!-- <el-form-item label="粗糙系数" :label-width="formLabelWidth7">
  235. <el-input v-model="guandaoobj.roughCoe" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  236. </el-form-item> //@change='seltree($event)'-->
  237. <div class='treeselect'>
  238. <el-form-item label="阻力系数" :label-width="formLabelWidth7" >
  239. <el-tree-select
  240. v-model="guandaoobj.roughCoeName"
  241. :data="dataselct"
  242. placeholder="请选择"
  243. :render-after-expand="false"
  244. style="width: 240px"
  245. @node-click="seltree"
  246. />
  247. </el-form-item>
  248. </div>
  249. <div class="demo-input-suffix firsttitle magintop guand_1">
  250. <el-form-item label="截面类型" :label-width="formLabelWidth7">
  251. <el-select v-model="guandaoobj.sectionType" placeholder="请选择" @change="changejm">
  252. <el-option v-for="item in options" :key="item.id"
  253. :label="item.label"
  254. :value="item.value">
  255. <!-- -->
  256. <!-- <template #prefix>
  257. <el-image :src="item.image" ></el-image>
  258. </template> -->
  259. <el-image :src="item.image" ></el-image>
  260. <span style="padding-left: 10px;">{{item.label}}</span>
  261. </el-option>
  262. </el-select>
  263. <div class="btn2">
  264. <div class="elimg" v-if="guandaoobj.sectionType=='CIRCULAR'"><el-image :src="y" fit="contain"></el-image></div>
  265. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECTANGLE'" ><el-image :src="j" fit="contain"></el-image></div>
  266. <div class="elimg" v-else-if="guandaoobj.sectionType=='SEMICIRCULAR'" ><el-image :src="m1" fit="contain"></el-image></div>
  267. <div class="elimg" v-else-if="guandaoobj.sectionType=='SEMIELLIPTICAL'" ><el-image :src="m2" fit="contain"></el-image></div>
  268. <div class="elimg" v-else-if="guandaoobj.sectionType=='EGG'" ><el-image :src="m3" fit="contain"></el-image></div>
  269. <div class="elimg" v-else-if="guandaoobj.sectionType=='GOTHIC'" ><el-image :src="m4" fit="contain"></el-image></div>
  270. <div class="elimg" v-else-if="guandaoobj.sectionType=='MODBASKETHANDLE'" ><el-image :src="m5" fit="contain"></el-image></div>
  271. <div class="elimg" v-else-if="guandaoobj.sectionType=='ARCH'" ><el-image :src="m6" fit="contain"></el-image></div>
  272. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECT_ROUND'" ><el-image :src="m7" fit="contain"></el-image></div>
  273. <div class="elimg" v-else-if="guandaoobj.sectionType=='BASKETHANDLE'" ><el-image :src="m8" fit="contain"></el-image></div>
  274. <div class="elimg" v-else-if="guandaoobj.sectionType=='HORSESHOE'" ><el-image :src="m9" fit="contain"></el-image></div>
  275. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECT_TRIANGULAR'" ><el-image :src="m10" fit="contain"></el-image></div>
  276. <div class="elimg" v-else-if="guandaoobj.sectionType=='VERT_ELLIPSE'" ><el-image :src="m11" fit="contain"></el-image></div>
  277. <div class="elimg" v-else-if="guandaoobj.sectionType=='HORZI_ELLIPSE'" ><el-image :src="m12" fit="contain"></el-image></div>
  278. <div class="elimg" v-else-if="guandaoobj.sectionType=='CATENARY'" ><el-image :src="m13" fit="contain"></el-image></div>
  279. <div class="elimg" v-else><el-image :src="g" fit="contain"></el-image></div>
  280. </div>
  281. </el-form-item>
  282. </div>
  283. <el-form-item :label="labelobj.v1" :label-width="formLabelWidth7" v-show="labelobj2.isshow1" >
  284. <el-input v-model="guandaoobj.sectionPara1" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  285. </el-form-item>
  286. <el-form-item :label="labelobj.v2" :label-width="formLabelWidth7" v-show="labelobj2.isshow2" >
  287. <el-input v-model="guandaoobj.sectionPara2" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  288. </el-form-item>
  289. <el-form-item :label="labelobj.v3" :label-width="formLabelWidth7" v-show="labelobj2.isshow3" >
  290. <el-input v-model="guandaoobj.sectionPara3" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  291. </el-form-item>
  292. <el-form-item :label="labelobj.v4" :label-width="formLabelWidth7" v-show="labelobj2.isshow4" >
  293. <el-input v-model="guandaoobj.sectionPara4" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  294. </el-form-item>
  295. <el-form-item :label="labelobj.v5" :label-width="formLabelWidth7" v-show="labelobj2.isshow5" >
  296. <el-input v-model="guandaoobj.sectionPara5" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  297. </el-form-item>
  298. <div class=" btncolor tablefocus">
  299. <vue-uploader
  300. ref="gfx"
  301. :accept="'.x'"
  302. :upId="'1'"
  303. :gfname="gfname"
  304. :name="'网格文件上传'"
  305. @handfiles="handfiles"
  306. @Gassaddgfid="Gassaddgfid"
  307. @clearFiles="clearFiles"
  308. style="margin: 20px 0 0 0"
  309. >
  310. <el-row>
  311. </el-row>
  312. </vue-uploader>
  313. <vue-uploader
  314. ref="inp"
  315. :accept="'.inp'"
  316. :name="'边界文件'"
  317. :upId="'2'"
  318. :gfname="bfname"
  319. @handfiles="handfiles"
  320. @Gassaddbfid="Gassaddbfid"
  321. @clearFiles="clearFiles"
  322. style="margin: 20px 0 0 0"
  323. >
  324. </vue-uploader>
  325. </div>
  326. </div>
  327. <div class="dialog-footer footer_div l_btn">
  328. <div class="footerbtn flex1">
  329. <div class="borderimg"><el-button @click="fileboolen('cancel');">取消</el-button>
  330. </div>
  331. </div>
  332. <div class="footerbtn flex1">
  333. <div class="borderimg"><el-button @click="fileboolen('confirm');">
  334. 确定
  335. </el-button></div>
  336. </div>
  337. </div>
  338. </el-dialog>
  339. <!-- 删除 -->
  340. <el-dialog v-model="sdialog.guddialogsgdelect" align-center :append-to-body="true" width="400" class="dialog_class bgcolor tianjia">
  341. <template #header="{ titleId, titleClass }">
  342. <div class="my-header ">
  343. <el-image :src="icon" fit="contain"></el-image>
  344. <h4 :id="titleId" :class="titleClass">删除框</h4>
  345. </div>
  346. </template>
  347. <h4 class="delecttitle"> 是否确认删除 <span class="spanclad">{{ zqname }}</span></h4>
  348. <div class="dialog-footer footer_div l_btn">
  349. <div class="footerbtn flex1">
  350. <div class="borderimg"><el-button @click="sdialog.guddialogsgdelect = false">取消</el-button></div>
  351. </div>
  352. <div class="footerbtn flex1">
  353. <div class="borderimg"><el-button @click="gddelete(); sdialog.guddialogsgdelect = false">
  354. 确定
  355. </el-button></div>
  356. </div>
  357. </div>
  358. </el-dialog>
  359. <!-- 阻力系数弹窗 毛壁面-->
  360. <el-dialog v-model="sdialog.resistance" width="600" :append-to-body="true" :modal="false" :close-on-click-modal="false"
  361. draggable class="dialog_class bgcolor tablefocus shigutable">
  362. <template #header="{ titleId, titleClass }">
  363. <div class="my-header ">
  364. <el-image :src="icon" fit="contain"></el-image>
  365. <h4 :id="titleId" :class="titleClass">{{zulitext }}</h4>
  366. </div>
  367. </template>
  368. <div class='maoconent'>
  369. <div class='maopading'>
  370. <el-radio-group v-model="radio1" class="radio-group" @change="zairadiochage1">
  371. <div class='jisuan'>
  372. <div class='radio'>
  373. <el-radio label="0" >自定义阻力系数a:</el-radio></div>
  374. <el-input v-model="zuli.zidiny" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  375. </div>
  376. <div class='jisuan'>
  377. <div class='radio'>
  378. <el-radio label="1">计算阻力系数a:</el-radio></div>
  379. <el-form-item >
  380. <el-input v-model="zuli.jsuan" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  381. </el-form-item>
  382. </div>
  383. </el-radio-group>
  384. <!--毛壁面 -->
  385. <div class="divshuzhi">
  386. <div v-if="radio1=='1'">
  387. <div class="xizhi yi" v-if="guandaoobj.roughCoeName=='毛壁面'">
  388. <el-radio-group v-model="resource" class="ml-4" @change="resourcechange">
  389. <div class="list">
  390. <div class='jisuan'>
  391. <div class='radio'>
  392. <el-radio label="0" >1.阻力因子ɑ×10⁴:</el-radio></div>
  393. <el-input-number v-model="jisuanobj.val1" :disabled="resource!='0'" :precision="1" :step="0.1" @change="handleChange">
  394. </el-input-number>
  395. </div>
  396. <span class="text">顺走向在煤层里挖的巷道(58.8)</span>
  397. </div>
  398. <div class="list">
  399. <div class='jisuan'>
  400. <div class='radio'>
  401. <el-radio label="1">2.阻力因子ɑ×10⁴:</el-radio></div>
  402. <el-input-number v-model="jisuanobj.val2" :disabled="resource!='1'" :min="68.6" :max="78.4" :precision="1" :step="0.1" @change="handleChange">
  403. </el-input-number>
  404. </div>
  405. <span class="text">交叉走向在煤层里挖的巷道(68.6~78.4)</span>
  406. </div>
  407. <div class="list">
  408. <div class='jisuan'>
  409. <div class='radio'>
  410. <el-radio label="2">3.阻力因子ɑ×10⁴:</el-radio></div>
  411. <el-input-number v-model="jisuanobj.val3" :disabled="resource!='2'" :min="58.8" :max="78.4" :precision="1" :step="0.1" @change="handleChange">
  412. </el-input-number>
  413. </div>
  414. <span class="text">巷道与地板粗糙度相同的巷道(58.8~78.4)</span>
  415. </div>
  416. <div class="list">
  417. <div class='jisuan'>
  418. <div class='radio'>
  419. <el-radio label="3" >4.阻力因子ɑ×10⁴:</el-radio></div>
  420. <el-input-number v-model="jisuanobj.val4" :disabled="resource!='3'" :min="98.0" :max="147.0" :precision="1" :step="0.1" @change="handleChange">
  421. </el-input-number>
  422. </div>
  423. <span class="text">巷道与地板粗糙度相同,地面阻塞情况下 (98.0~147.0)</span>
  424. </div>
  425. </el-radio-group>
  426. </div>
  427. <!--砌碹面 -->
  428. <div class="xizhi er" v-if="guandaoobj.roughCoeName=='砌碹面'">
  429. <el-radio-group v-model="resource" class="ml-4" @change="resourcechange2">
  430. <div class="list">
  431. <div class='jisuan'>
  432. <div class='radio'>
  433. <el-radio label="0" v-model="qxmradio">1.阻力因子ɑ×10⁴:</el-radio></div>
  434. <el-input-number v-model="qxmobj.val1" :disabled="resource!='0'" :min="29.4" :max="39.2" :precision="1" :step="0.1" @change="handleChange">
  435. </el-input-number>
  436. </div>
  437. <span class="text">混凝土砌碹、外抹灰浆(29.4~39.2)</span>
  438. </div>
  439. <div class="list">
  440. <div class='jisuan'>
  441. <div class='radio'>
  442. <el-radio label="1" v-model="qxmradio">2.阻力因子ɑ×10⁴:</el-radio></div>
  443. <el-input-number v-model="qxmobj.val2" :disabled="resource!='1'" :min="49.0" :max="68.6" :precision="1" :step="0.1" @change="handleChange">
  444. </el-input-number>
  445. </div>
  446. <span class="text">混凝土砌碹、外抹灰浆(49.0~68.6))</span>
  447. </div>
  448. <div class="list">
  449. <div class='jisuan'>
  450. <div class='radio'>
  451. <el-radio label="2" v-model="qxmradio">3.阻力因子ɑ×10⁴:</el-radio></div>
  452. <el-input-number v-model="qxmobj.val3" :disabled="resource!='2'" :min="24.5" :max="29.4" :precision="1" :step="0.1" @change="handleChange">
  453. <template #decrease-icon>
  454. <el-icon><ArrowLeft /></el-icon>
  455. </template>
  456. <template #increase-icon>
  457. <el-icon><ArrowRight /></el-icon>
  458. </template>
  459. </el-input-number>
  460. </div>
  461. <span class="text">砖砌碹、外抹灰浆(24.5~29.4))</span>
  462. </div>
  463. <div class="list">
  464. <div class='jisuan'>
  465. <div class='radio'>
  466. <el-radio label="3" v-model="qxmradio">4.阻力因子ɑ×10⁴:</el-radio></div>
  467. <el-input-number v-model="qxmobj.val4" :disabled="resource!='3'" :min="29.4" :max="39.2" :precision="1" :step="0.1" @change="handleChange">
  468. </el-input-number>
  469. </div>
  470. <span class="text">砖砌碹、不抹灰浆(29.4~39.2)</span>
  471. </div>
  472. <div class="list">
  473. <div class='jisuan'>
  474. <div class='radio'>
  475. <el-radio label="4" v-model="qxmradio">5.阻力因子ɑ×10⁴:</el-radio></div>
  476. <el-input-number v-model="qxmobj.val5" :disabled="resource!='4'" :min="39.2" :max="49.0" :precision="1" :step="0.1" @change="handleChange">
  477. </el-input-number>
  478. </div>
  479. <span class="text">料石(39.2~49.0)</span>
  480. </div>
  481. </el-radio-group>
  482. </div>
  483. <!-- 圆木棚式支护3-1 -->
  484. <div v-if="guandaoobj.roughCoeName=='圆木棚式支护'">
  485. <div class="xizhi san_1" >
  486. <div class="list">
  487. <div class='jisuan1'>
  488. <div class='radiotext'>支护间距L(cm):</div>
  489. <el-input-number v-model="ympszh.val1" :precision="1" :step="0.1" @change="handleChange">
  490. </el-input-number>
  491. </div>
  492. </div>
  493. <div class="list">
  494. <div class='jisuan1'>
  495. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  496. <el-input-number v-model="ympszh.val2" :precision="1" :step="0.1" @change="handleChange">
  497. </el-input-number>
  498. </div>
  499. </div>
  500. <div class="list">
  501. <div class='jisuan1'>
  502. <div class='radiotext'>巷道横截面积S(m2):</div>
  503. <el-input-number v-model="ympszh.val2" :precision="1" :step="0.1" @change="handleChange">
  504. </el-input-number>
  505. </div>
  506. </div>
  507. </div>
  508. <div class="list">
  509. <div class='jisuan1'>
  510. <div class='elimage'>
  511. <el-image :src="js" fit="contain"></el-image>
  512. </div>
  513. </div>
  514. </div>
  515. <div class="list">
  516. <div class='jisuan1'>
  517. <div class='radiotext tishi'>∆=L/d</div>
  518. </div>
  519. </div>
  520. </div>
  521. <!-- 工字梁拱形和梯形支护3-2 -->
  522. <div v-if="guandaoobj.roughCoeName=='工字梁拱形和梯形支护'">
  523. <div class="xizhi san_2" >
  524. <div class="list">
  525. <div class='jisuan1'>
  526. <div class='radiotext'>支护间距L(cm):</div>
  527. <el-input-number v-model="gzlg.val1" :precision="1" :step="0.1" @change="handleChange">
  528. </el-input-number>
  529. </div>
  530. </div>
  531. <div class="list">
  532. <div class='jisuan1'>
  533. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  534. <el-input-number v-model="gzlg.val2" :precision="1" :step="0.1" @change="handleChange">
  535. </el-input-number>
  536. </div>
  537. </div>
  538. <div class="list">
  539. <div class='jisuan1'>
  540. <div class='radiotext'>巷道横截面积S(m2):</div>
  541. <el-input-number v-model="gzlg.val2" :precision="1" :step="0.1" @change="handleChange">
  542. </el-input-number>
  543. </div>
  544. </div>
  545. </div>
  546. <div class="list">
  547. <div class='jisuan1'>
  548. <div class='elimage'>
  549. <el-image :src="js2" fit="contain"></el-image>
  550. </div>
  551. </div>
  552. </div>
  553. <div class="list">
  554. <div class='jisuan1'>
  555. <div class='radiotext tishi'>∆=L/d</div>
  556. </div>
  557. </div>
  558. </div>
  559. <div v-if="guandaoobj.roughCoeName=='金属梁与柱支护'">
  560. <div class="xizhi san_3" >
  561. <div class="list">
  562. <div class='jisuan1'>
  563. <div class='radiotext'>支护间距L(cm):</div>
  564. <el-input-number v-model="jsl.val1" :precision="1" :step="0.1" @change="handleChange">
  565. </el-input-number>
  566. </div>
  567. </div>
  568. <div class="list">
  569. <div class='jisuan1'>
  570. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  571. <el-input-number v-model="jsl.val2" :precision="1" :step="0.1" @change="handleChange">
  572. </el-input-number>
  573. </div>
  574. </div>
  575. <div class="list">
  576. <div class='jisuan1'>
  577. <div class='radiotext'>巷道横截面积S(m2):</div>
  578. <el-input-number v-model="jsl.val2" :precision="1" :step="0.1" @change="handleChange">
  579. </el-input-number>
  580. </div>
  581. </div>
  582. </div>
  583. <div class="list">
  584. <div class='jisuan1'>
  585. <div class='elimage'>
  586. <el-image :src="js3" fit="contain"></el-image>
  587. </div>
  588. </div>
  589. </div>
  590. <div class="list">
  591. <div class='jisuan1'>
  592. <div class='radiotext tishi'>∆=L/d</div>
  593. </div>
  594. </div>
  595. </div>
  596. <!--其它支护 3-4 -->
  597. <div class="xizhi san_4" v-if="guandaoobj.roughCoeName=='其它支护'">
  598. <el-radio-group v-model="qitaval" class="ml-4" @change="qtzhobjchange">
  599. <div class="list">
  600. <div class='jisuan'>
  601. <div class='radio'>
  602. <el-radio label="0" v-model="resource">1.阻力因子ɑ×10⁴:</el-radio></div>
  603. <el-input-number v-model="qtzhobj.val1" :disabled="resource!='0'" :min="88.2" :max="168.2" :precision="1" :step="0.1" @change="handleChange">
  604. </el-input-number>
  605. </div>
  606. <span class="text">钢筋混凝土预制支架巷道(88.2~168.2)</span>
  607. </div>
  608. <div class="list">
  609. <div class='jisuan'>
  610. <div class='radio'>
  611. <el-radio :label="1" v-model="resource">2.阻力因子ɑ×10⁴:</el-radio></div>
  612. <el-input-number v-model="qtzhobj.val2" :disabled="resource!='1'" :min="78.4" :max="117.6" :precision="1" :step="0.1" @change="handleChange">
  613. </el-input-number>
  614. </div>
  615. <span class="text">锚杆和喷浆巷道(78.4~117.6)</span>
  616. </div>
  617. </el-radio-group>
  618. </div>
  619. <!--工作面4-->
  620. <div class="xizhi san_4" v-if="guandaoobj.roughCoeName=='工作面'">
  621. <el-radio label="0" v-model="faterradio" @change="handleRadioChange">A.炮开采面因子ɑ×10⁴:</el-radio>
  622. <!-- <el-radio-group v-model="gzmobj.gzm" :disabled="faterradio!='0'" @change="handleRadioChange">
  623. <div class="list">
  624. <div class='jisuan'>
  625. <div class='radio'>
  626. <el-radio label="0" >摩擦式金属支柱:</el-radio></div>
  627. <el-input-number v-model="gzmobj.val1" :disabled="faterradio!='0'" :precision="1" :step="0.1" @change="handleChange">
  628. </el-input-number>
  629. </div>
  630. <span class="text">推荐值(270~350)</span>
  631. </div>
  632. <div class="list">
  633. <div class='jisuan'>
  634. <div class='radio'>
  635. <el-radio label="1" >采用木支柱:</el-radio></div>
  636. <el-input-number v-model="gzmobj.val2" :disabled="faterradio!='0'" :precision="1" :step="0.1" @change="handleChange">
  637. </el-input-number>
  638. </div>
  639. <span class="text">推荐值(300~350)</span>
  640. </div>
  641. </el-radio-group> -->
  642. <el-radio-group v-model="gzmobj.gzm" :disabled="faterradio!='0'" >
  643. <div class="list">
  644. <div class='jisuan'>
  645. <div class='radio'>
  646. <el-radio label="0" > 摩擦式金属支柱:</el-radio></div>
  647. <el-input-number v-model="gzmobj1.val1" :disabled="faterradio!='0'" :precision="1" :step="0.1" @change="handleChange">
  648. </el-input-number>
  649. </div>
  650. <span class="text">推荐值(270~350)</span>
  651. </div>
  652. <div class="list">
  653. <div class='jisuan'>
  654. <div class='radio'>
  655. <el-radio label="1" >采用木支柱:</el-radio></div>
  656. <el-input-number v-model="gzmobj1.val2" :disabled="faterradio!='0'" :precision="1" :step="0.1" @change="handleChange">
  657. </el-input-number>
  658. </div>
  659. <span class="text">推荐值(300~350)</span>
  660. </div>
  661. </el-radio-group>
  662. <el-radio label="1" v-model="faterradio" @change="handleRadioChange">B.普通采面阻力因子ɑ×10⁴:</el-radio>
  663. <el-radio-group v-model="gzmobj1.gzm" :disabled="faterradio!='1'" >
  664. <div class="list">
  665. <div class='jisuan'>
  666. <div class='radio'>
  667. <el-radio label="0" > 采用单体液压支柱:</el-radio></div>
  668. <el-input-number v-model="gzmobj1.val1" :disabled="faterradio!='1'" :precision="1" :step="0.1" @change="handleChange">
  669. </el-input-number>
  670. </div>
  671. <span class="text">推荐值(420~500)</span>
  672. </div>
  673. <div class="list">
  674. <div class='jisuan'>
  675. <div class='radio'>
  676. <el-radio label="1" >采用摩擦式金属支柱:</el-radio></div>
  677. <el-input-number v-model="gzmobj1.val2" :disabled="faterradio!='1'" :precision="1" :step="0.1" @change="handleChange">
  678. </el-input-number>
  679. </div>
  680. <span class="text">推荐值(450~500)</span>
  681. </div>
  682. </el-radio-group>
  683. <el-radio label="2" v-model="faterradio" @change="handleRadioChange">C.综合采面阻力因子ɑ×10⁴:</el-radio>
  684. <el-radio-group v-model="gzmobj2.gzm" :disabled="faterradio!='2'" >
  685. <div class="list">
  686. <div class='jisuan'>
  687. <div class='radio'>
  688. <el-radio label="0" > 采用支撑式液压支架:</el-radio></div>
  689. <el-input-number v-model="gzmobj2.val1" :disabled="faterradio!='2'" :precision="1" :step="0.1" @change="handleChange">
  690. </el-input-number>
  691. </div>
  692. <span class="text">推荐值(300~420)</span>
  693. </div>
  694. <div class="list">
  695. <div class='jisuan'>
  696. <div class='radio'>
  697. <el-radio label="1" >采用掩护式液压支架:</el-radio></div>
  698. <el-input-number v-model="gzmobj2.val2" :disabled="faterradio!='2'" :precision="1" :step="0.1" @change="handleChange">
  699. </el-input-number>
  700. </div>
  701. <span class="text">推荐值(220~330)</span>
  702. </div>
  703. <div class="list">
  704. <div class='jisuan'>
  705. <div class='radio'>
  706. <el-radio label="2" >采用支撑掩护式支架:</el-radio></div>
  707. <el-input-number v-model="gzmobj2.val3" :disabled="faterradio!='2'" :precision="1" :step="0.1" @change="handleChange">
  708. </el-input-number>
  709. </div>
  710. <span class="text">推荐值(320~350)</span>
  711. </div>
  712. </el-radio-group>
  713. </div>
  714. <!-- 巷道有障碍物阻力修正 -->
  715. <el-form-item label=" 巷道有障碍物阻力修正:">
  716. <el-radio-group v-model="zairadio" @change="zairadiochage1">
  717. <el-radio label="1">是</el-radio>
  718. <el-radio label="0">否</el-radio>
  719. </el-radio-group>
  720. </el-form-item>
  721. <div class="xizhi" v-if="zairadio=='1'">
  722. <el-radio-group v-model="zaires" class="ml-4" @change="zaireschange">
  723. <div class="list" >
  724. <div class='jisuan'>
  725. <div class='radio'>
  726. <el-radio label="0" >1.阻力因子ɑ×10⁴:</el-radio></div>
  727. <el-input-number v-model="zaiobj.val1" :disabled="zaires!='0'" :min="147" :max="196" :precision="1" :step="0.1" @change="zaihandleChange">
  728. </el-input-number>
  729. </div>
  730. <span class="text">带有带式传送机的巷道(147~196))</span>
  731. </div>
  732. <div class="list" >
  733. <div class='jisuan'>
  734. <div class='radio'>
  735. <el-radio label="1" v-model="zaires">2.阻力因子ɑ×10⁴:</el-radio></div>
  736. <el-input-number v-model="zaiobj.val2" :disabled="zaires!='1'" :precision="1" :step="0.1" @change="zaihandleChange">
  737. </el-input-number>
  738. </div>
  739. <span class="text">设有水管、风管、木梯台阶的巷道(98))</span>
  740. </div>
  741. <div class="list" >
  742. <div class='jisuan'>
  743. <div class='radio'>
  744. <el-radio label="2" v-model="zaires">3.阻力因子ɑ×10⁴:</el-radio></div>
  745. <el-input-number v-model="zaiobj.val3" :disabled="zaires!='2'" :min="29.4" :max="98" :precision="1" :step="0.1" @change="zaihandleChange">
  746. </el-input-number>
  747. </div>
  748. <span class="text">当巷道严重堵塞时(29.4~98)</span>
  749. </div>
  750. </el-radio-group>
  751. </div>
  752. <!-- </el-radio-group> -->
  753. </div>
  754. </div>
  755. </div>
  756. </div>
  757. <div class="dialog-footer footer_div l_btn">
  758. <div class="footerbtn flex1">
  759. <div class="borderimg"><el-button @click="sdialog.resistance = false">取消</el-button></div>
  760. </div>
  761. <div class="footerbtn flex1">
  762. <div class="borderimg"><el-button @click="maoqueding();">
  763. 确定
  764. </el-button></div>
  765. </div>
  766. </div>
  767. </el-dialog>
  768. <Node-Select ref="nodeselect" @queding="queding" />
  769. <!-- -->
  770. </div>
  771. </div>
  772. </div>
  773. </div>
  774. </el-collapse-item>
  775. </el-collapse>
  776. </div>
  777. </el-aside>
  778. </div>
  779. </div>
  780. </template>
  781. <script setup>
  782. import { computed, ref, onMounted, reactive, toRef } from "vue";
  783. import { request, uploadFile } from "@/utils/request";
  784. import { ElMessage, ElButton, ElDialog, ElSelect,ElConfigProvider } from 'element-plus'
  785. import { ArrowDown, ArrowUp,Crop, Minus, Plus,ArrowRight,ArrowLeft } from '@element-plus/icons-vue'
  786. import zhCn from 'element-plus/es/locale/lang/zh-cn'
  787. import icon from "@/assets/img/icon.png";
  788. import g from "@/assets/img/g.jpg";
  789. import j from "@/assets/img/j2.png";
  790. import y from "@/assets/img/y2.png";
  791. import m1 from "@/assets/img/m1.png";
  792. import m2 from "@/assets/img/m2.png";
  793. import m3 from "@/assets/img/m3.png";
  794. import m4 from "@/assets/img/m4.png";
  795. import m5 from "@/assets/img/m5.png";
  796. import m6 from "@/assets/img/m6.png";
  797. import m7 from "@/assets/img/m7.png";
  798. import m8 from "@/assets/img/m8.png";
  799. import m9 from "@/assets/img/m9.png";
  800. import m10 from "@/assets/img/m10.png";
  801. import m11 from "@/assets/img/m11.png";
  802. import m12 from "@/assets/img/m12.png";
  803. import m13 from "@/assets/img/m13.png";
  804. import js from "@/assets/img/js.png";
  805. import js2 from "@/assets/img/js2.png";
  806. import js3 from "@/assets/img/js3.png";
  807. import { timestampToTime } from '@/js/lindex.js';
  808. import NodeSelect from "./NodeLine.vue";
  809. import vueUploader from "./fileuploads.vue";
  810. // import Menufile from "./MenuFile.vue"
  811. // import upFile from "./upfile.vue";
  812. //
  813. // let labelobj=ref(
  814. // {v1:"截面信息1"},
  815. // {v2:"截面信息2",isshow:true},
  816. // {v3:"截面信息3",},
  817. // {v4:"截面信息4"},
  818. // {v5:"截面信息5",isshow:false},
  819. // // {v3:"截面信息3", v4:"截面信息4", v5:"截面信息5",show:true}
  820. // )
  821. // let labelobj=ref(
  822. // {v1:"截面信息1"},
  823. // {v2:"截面信息2"},
  824. // {v3:"截面信息3"},
  825. // {v4:"截面信息4"},
  826. // {v5:"截面信息5"},
  827. // )
  828. let labelobj=ref({v1:"截面信息1",v2:"截面信息2",v3:"截面信息3", v4:"截面信息4", v5:"截面信息5"})
  829. let labelobj2=ref(
  830. {isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  831. )
  832. let zuli=ref({
  833. zidiny:'',
  834. jsuan:''
  835. })
  836. let jsuanval=ref(58.8);
  837. let zuaival=ref(147.0);
  838. let jisuanobj=ref({
  839. val1:58.8,
  840. val2:68.6,
  841. val3:78.4,
  842. val4:58.8,
  843. })
  844. let qxmradio=ref("0");
  845. let qxmobj=ref({
  846. val1:29.4,
  847. val2:49,
  848. val3:24.5,
  849. val4:29.4,
  850. val5:39.2,
  851. })
  852. let qtzhobj=ref({
  853. val1:88.2,
  854. val2:78.4,
  855. })
  856. let ympszh=ref({
  857. val1:29.4,
  858. val2:49.0,
  859. val3:49.0,
  860. })
  861. let gzlg=ref({
  862. val1:29.4,
  863. val2:49.0,
  864. val3:49.0,
  865. })
  866. let jsl=ref({
  867. val1:29.4,
  868. val2:49.0,
  869. val3:49.0,
  870. })
  871. let zairadio=ref('1');
  872. let zaires=ref("0")
  873. let zaiobj=ref({
  874. val1:147,
  875. val2:98,
  876. val3:29.4,
  877. })
  878. let gzmobj=ref({
  879. gzm:0,
  880. val1:98.0,
  881. val2:47.7
  882. })
  883. let gzmobj1=ref({
  884. gzm:0,
  885. val1:98.0,
  886. val2:47.7
  887. })
  888. let gzmobj2=ref({
  889. gzm:0,
  890. val1:98.0,
  891. val2:47.7,
  892. val3:47.7
  893. })
  894. let faterradio=ref("0")
  895. // 文件上传参数
  896. const radio1 = ref('0');
  897. const gfx=ref();
  898. const inp=ref();
  899. let gid=ref("");
  900. let wsid=ref("");
  901. let gfid=ref("");
  902. let bfid=ref("");
  903. let gfname=ref("");
  904. let bfname=ref("");
  905. let resource=ref('0')
  906. let qitaval=ref('0')
  907. let num=ref();
  908. const value = ref()
  909. const dataselct = ref([
  910. {
  911. value: '毛壁面',
  912. label: '毛壁面',
  913. },
  914. {
  915. value: '砌碹面',
  916. label: '砌碹面',
  917. },
  918. {
  919. value: '支护面',
  920. label: '支护面',
  921. children: [
  922. {
  923. value: '圆木棚式支护',
  924. label: '圆木棚式支护',
  925. },
  926. {
  927. value: '工字梁拱形和梯形支护',
  928. label: '工字梁拱形和梯形支护',
  929. },
  930. {
  931. value: '金属梁与柱支护',
  932. label: '金属梁与柱支护',
  933. },
  934. {
  935. value: '其它支护',
  936. label: '其它支护',
  937. },
  938. ],
  939. },
  940. {
  941. value: '工作面',
  942. label: '工作面',
  943. },
  944. ])
  945. let zulitext=ref();
  946. let tishi=ref('');
  947. let nodeselect = ref();
  948. let dialogVisible = ref(false);
  949. let tableData2 = ref([]);
  950. let classradio1 = ref('Fire');
  951. let coolactiveName1 = ref(["1"]);
  952. let formLabelWidth6 = ref(70);
  953. let formLabelWidth7 = ref(100)
  954. const resultactiveName = ref("first");
  955. let tableHeight = ref(280);
  956. let total = ref(1);
  957. let searchtag = ref("");
  958. const statusMap = {
  959. 'CIRCULAR': '圆形',
  960. 'RECTANGLE': '矩形',
  961. 'SEMICIRCULAR': '半椭圆形',
  962. 'SEMIELLIPTICAL': '半圆形',
  963. 'EGG': '蛋形',
  964. 'GOTHIC': '哥特形',
  965. 'MODBASKETHANDLE': '更正蓝形',
  966. 'ARCH': '拱形',
  967. 'RECT_ROUND': '弧底矩形',
  968. 'BASKETHANDLE': '蓝形',
  969. 'HORSESHOE': '马蹄形',
  970. 'RECT_TRIANGULAR': '三角底矩形',
  971. 'VERT_ELLIPSE': '竖向椭圆',
  972. 'HORZI_ELLIPSE': '水平椭圆',
  973. 'CATENARY': '悬链式',
  974. };
  975. let options = ref([
  976. {
  977. label: '圆形', value: "CIRCULAR",image:y
  978. },
  979. {
  980. label: '矩形', value: "RECTANGLE",image:j
  981. },
  982. {
  983. label: '半椭圆形', value: "SEMICIRCULAR",image:m1
  984. },
  985. {
  986. label: '半圆形', value: "SEMIELLIPTICAL",image:m2
  987. },
  988. {
  989. label: '蛋形', value: "EGG",image:m3
  990. },
  991. {
  992. label: '哥特形', value: "GOTHIC",image:m4
  993. },
  994. {
  995. label: '更正蓝形', value: "MODBASKETHANDLE",image:m5
  996. },
  997. {
  998. label: '拱形', value: "ARCH",image:m6
  999. },
  1000. {
  1001. label: '弧底矩形', value: "RECT_ROUND",image:m7
  1002. },
  1003. {
  1004. label: '蓝形', value: "BASKETHANDLE",image:m8
  1005. },
  1006. {
  1007. label: '马蹄形', value: "HORSESHOE",image:m9
  1008. },
  1009. {
  1010. label: '三角底矩形', value: "RECT_TRIANGULAR",image:m10
  1011. },
  1012. {
  1013. label: '竖向椭圆', value: "VERT_ELLIPSE",image:m11
  1014. },
  1015. {
  1016. label: '水平椭圆', value: "HORZI_ELLIPSE",image:m12
  1017. },
  1018. {
  1019. label: '悬链式', value: "CATENARY",image:m13
  1020. },
  1021. ])
  1022. const currentPage4 = ref(1);
  1023. const pageSize4 = ref(4)
  1024. let currentrow = ref(false);
  1025. let currentrow1 = ref(false);
  1026. let sdialog = ref({
  1027. adddialog: false,
  1028. dialogsgdelect: false,
  1029. gdadddialog: false,
  1030. guddialogsgdelect: false,
  1031. resistance:false,
  1032. })
  1033. let sideid = ref("");
  1034. let tableData3 = ref();
  1035. let zqname = ref("");
  1036. let zhtext = ref("添加");
  1037. let nodedata = ref({});
  1038. let gddata = ref({});
  1039. let nodeobj = ref({
  1040. name: "",
  1041. x: "",
  1042. y: "",
  1043. z: "",
  1044. code:'',
  1045. })
  1046. let guandaoobj = ref({
  1047. pid: '',
  1048. name: '',
  1049. snId: Number,
  1050. enId:Number ,
  1051. roughCoe: '',
  1052. roughCoeName:'',
  1053. sectionType: 'CIRCULAR',
  1054. sectionPara1: '',
  1055. sectionPara2: '',
  1056. sectionPara3: '',
  1057. sectionPara4: '',
  1058. sectionPara5: '',
  1059. code:'',
  1060. })
  1061. let gd = ref({
  1062. total: 1,
  1063. currentPage4: 1,
  1064. pageSize4: 5,
  1065. })
  1066. const tableRowClassName = ({ row, rowIndex }) => {
  1067. if (rowIndex % 2 != 0) {
  1068. return 'evenRow';
  1069. }
  1070. return 'oddRow';
  1071. }
  1072. onMounted(() => {
  1073. pipelinedata()
  1074. })
  1075. // tab选项事件
  1076. const handleClick = (Tab, val) => {
  1077. switch (Tab.props.name) {
  1078. case 'first':
  1079. pipelinedata()
  1080. break;
  1081. case "second":
  1082. guandaodata();
  1083. break;
  1084. case 'third':
  1085. break;
  1086. case 'thirds':
  1087. break;
  1088. }
  1089. }
  1090. // 节点分页查询
  1091. const handleCurrentChange = (val) => {
  1092. pipelinedata();
  1093. }
  1094. // 管道分页查询
  1095. const handleCurrentChange2 = (val) => {
  1096. guandaodata();
  1097. }
  1098. //节点数据查询
  1099. const pipelinedata = () => {
  1100. const params = {
  1101. transCode: 'D00000',
  1102. count: pageSize4.value,
  1103. page: currentPage4.value,
  1104. searchtag: searchtag.value,
  1105. }
  1106. request(params)
  1107. .then((res) => {
  1108. tableData2.value = res.rows;
  1109. total.value = res.total;
  1110. nodedata.value={}
  1111. })
  1112. .catch((err) => {
  1113. ElMessage.error(err.returnMsg)
  1114. })
  1115. }
  1116. //节点的添加
  1117. const addsg = () => {
  1118. zhtext.value = '添加';
  1119. currentrow.value = false;
  1120. sdialog.value.adddialog = true;
  1121. nodeobj.value.name = "";
  1122. nodeobj.value.x = "";
  1123. nodeobj.value.y = "";
  1124. nodeobj.value.z = "";
  1125. nodeobj.value.nid = '';
  1126. nodeobj.value.code = '';
  1127. nodedata.value={};
  1128. tishi.value='保存';
  1129. }
  1130. //节点添加api
  1131. const nodeconfirm = () => {
  1132. if(nodeobj.value.name==null||nodeobj.value.name==''){
  1133. ElMessage.error('名称不能为空')
  1134. }else if(nodeobj.value.code==null||nodeobj.value.code==''){
  1135. ElMessage.error('编号不能为空')
  1136. }else if(nodeobj.value.x==null||nodeobj.value.x==''){
  1137. ElMessage.error('X不能为空')
  1138. }else if(nodeobj.value.y==null||nodeobj.value.y==''){
  1139. ElMessage.error('Y不能为空')
  1140. }else if(nodeobj.value.z==null||nodeobj.value.z==''){
  1141. ElMessage.error("Z不能为空")
  1142. } else if(nodeobj.value.name!=''&&nodeobj.value.x!=''&&nodeobj.value.y!=''&&nodeobj.value.z!=''){
  1143. const params = {
  1144. transCode: 'D10000',
  1145. nid: nodeobj.value.nid,
  1146. name: nodeobj.value.name,
  1147. x: nodeobj.value.x,
  1148. y: nodeobj.value.y,
  1149. z: nodeobj.value.z,
  1150. code: nodeobj.value.code,
  1151. desc: "",
  1152. ntype: "mid",
  1153. }
  1154. request(params)
  1155. .then((res) => {
  1156. sdialog.value.adddialog = false;
  1157. pipelinedata();
  1158. ElMessage({
  1159. message: '节点'+tishi.value+'成功',
  1160. type: 'success',
  1161. })
  1162. })
  1163. .catch((err) => {
  1164. ElMessage.error(err.returnMsg)
  1165. })
  1166. }else{
  1167. ElMessage.error("不能为空")
  1168. }
  1169. }
  1170. // 界面
  1171. const changejm=(val)=>{
  1172. console.log(val);
  1173. if(val=='CIRCULAR'){
  1174. labelobj.value.v1='直径';
  1175. labelobj2.value={isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1176. }else if(val=='RECTANGLE'){
  1177. labelobj.value.v1='全高';
  1178. labelobj.value.v2='顶宽';
  1179. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1180. }else if(val=='SEMICIRCULAR'||val=='BASKETHANDLE'||val=='HORSESHOE'||val=='CATENARY'||val=='SEMIELLIPTICAL'||val=='EGG'||val=='GOTHIC'){
  1181. labelobj.value.v1='全高';
  1182. labelobj2.value={isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1183. }else if(val=='MODBASKETHANDLE'){
  1184. labelobj.value.v1='全高';
  1185. labelobj.value.v2='底宽';
  1186. labelobj.value.v3='顶部半径*5';
  1187. console.log()
  1188. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1189. }else if(val=='ARCH'){
  1190. labelobj.value.v1='全高';
  1191. labelobj.value.v2='最大宽度';
  1192. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1193. }else if(val=='RECT_ROUND'){
  1194. labelobj.value.v1='全高';
  1195. labelobj.value.v2='顶宽';
  1196. labelobj.value.v3='底部半径';
  1197. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1198. }else if(val=='RECT_ROUND'){
  1199. labelobj.value.v1='全高';
  1200. labelobj.value.v2='顶宽';
  1201. labelobj.value.v3='底部半径';
  1202. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1203. }else if(val=='RECT_TRIANGULAR'){
  1204. labelobj.value.v1='全高';
  1205. labelobj.value.v2='顶宽';
  1206. labelobj.value.v3='三角形高度';
  1207. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1208. }else if(val=='VERT_ELLIPSE'||val=='HORZI_ELLIPSE'){
  1209. labelobj.value.v1='全高';
  1210. labelobj.value.v2='最大宽度^3';
  1211. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1212. }
  1213. }
  1214. //选中node节点的一行
  1215. const handleDelete = (val) => {
  1216. currentrow.value = true;
  1217. nodedata.value = val;
  1218. }
  1219. const handleDelete2 = (val) => {
  1220. currentrow1.value = true;
  1221. gddata.value = val;
  1222. gfname.value= gddata.value.gfname;
  1223. bfname.value= gddata.value.bfname;
  1224. }
  1225. //node删除
  1226. const nodedelete = () => {
  1227. console.log(nodedata.value);
  1228. if (JSON.stringify(nodedata.value) == '{}') {
  1229. ElMessage.error("你还没有选中删除的项目")
  1230. } else {
  1231. sdialog.value.dialogsgdelect = true;
  1232. zqname.value = nodedata.value.name;
  1233. }
  1234. }
  1235. const nodedeleteapi = () => {
  1236. const params = {
  1237. transCode: 'D10001',
  1238. nid: nodedata.value.id,
  1239. }
  1240. request(params)
  1241. .then((res) => {
  1242. pipelinedata();
  1243. ElMessage({
  1244. message: '节点删除成功',
  1245. type: 'success',
  1246. })
  1247. })
  1248. .catch((err) => {
  1249. ElMessage.error(err.returnMsg)
  1250. })
  1251. }
  1252. //节点修改
  1253. const accident = () => {
  1254. if (JSON.stringify(nodedata.value) == '{}') {
  1255. ElMessage.error("你还没有选中修改的项目")
  1256. } else {
  1257. zhtext.value = '修改';
  1258. tishi.value= zhtext.value;
  1259. sdialog.value.adddialog = true;
  1260. nodeobj.value.name = nodedata.value.name;
  1261. nodeobj.value.x = nodedata.value.x;
  1262. nodeobj.value.y = nodedata.value.y;
  1263. nodeobj.value.z = nodedata.value.z;
  1264. nodeobj.value.nid = nodedata.value.id;
  1265. nodeobj.value.code = nodedata.value.code;
  1266. }
  1267. }
  1268. //巷道查询
  1269. const guandaodata = () => {
  1270. const params = {
  1271. transCode: 'D00001',
  1272. count: gd.value.pageSize4,
  1273. page: gd.value.currentPage4,
  1274. searchtag: '',
  1275. }
  1276. request(params)
  1277. .then((res) => {
  1278. tableData3.value = res.rows.map(item => {
  1279. return {
  1280. ...item,
  1281. sectionType: statusMap[item.sectionType] || '未知' // 如果状态不存在,默认设置为'未知'
  1282. };
  1283. });
  1284. gd.value.total = res.total;
  1285. })
  1286. .catch((err) => {
  1287. ElMessage.error(err.returnMsg)
  1288. })
  1289. }
  1290. // 节点选中开始结束
  1291. const nodeclick = (val) => {
  1292. console.log(111);
  1293. nodeselect.value.searchtaggd='';
  1294. nodeselect.value.dialogVisiblenode = true;
  1295. nodeselect.value.pipelinedata("");
  1296. sideid.value = val;
  1297. }
  1298. //节点确定的方法
  1299. const queding = (row) => {
  1300. if (sideid.value == 'start') {
  1301. guandaoobj.value.snId = row.id;
  1302. } else {
  1303. guandaoobj.value.enId = row.id;
  1304. }
  1305. }
  1306. // 管道的add
  1307. const guandaoadd = () => {
  1308. sdialog.value.gdadddialog = true;
  1309. zhtext.value = '添加';
  1310. tishi.value='保存';
  1311. currentrow1.value = false;
  1312. guandaoobj.value.code = '';
  1313. guandaoobj.value.pid = '';
  1314. guandaoobj.value.name = '';
  1315. guandaoobj.value.snId = '';
  1316. guandaoobj.value.enId = '';
  1317. guandaoobj.value.roughCoe = 1.0;
  1318. guandaoobj.value.sectionType = 'CIRCULAR';
  1319. guandaoobj.value.sectionPara1 = '';
  1320. guandaoobj.value.sectionPara2 = '';
  1321. guandaoobj.value.sectionPara3 = '';
  1322. guandaoobj.value.sectionPara4 = '';
  1323. guandaoobj.value.sectionPara5 = '';
  1324. changejm( guandaoobj.value.sectionType);
  1325. gfname.value="";
  1326. bfname.value="";
  1327. gddata.value={};
  1328. nextTick(()=>{
  1329. gfx.value.files=[];
  1330. inp.value.files=[];
  1331. })
  1332. }
  1333. // 管道增加修改的接口
  1334. const guandaoapi = () => {
  1335. if(guandaoobj.value.snId<guandaoobj.value.enId){
  1336. // console.log(params);
  1337. const params = {
  1338. transCode: 'D10002',
  1339. code: guandaoobj.value.code,
  1340. pid: guandaoobj.value.pid,
  1341. name: guandaoobj.value.name,
  1342. snId: guandaoobj.value.snId,
  1343. enId: guandaoobj.value.enId,
  1344. roughCoe: guandaoobj.value.roughCoe,
  1345. roughCoeName:guandaoobj.value.roughCoeName,
  1346. sectionType: guandaoobj.value.sectionType,
  1347. sectionPara1: guandaoobj.value.sectionPara1,
  1348. sectionPara2: guandaoobj.value.sectionPara2,
  1349. sectionPara3: guandaoobj.value.sectionPara3,
  1350. sectionPara4: guandaoobj.value.sectionPara4,
  1351. sectionPara5: guandaoobj.value.sectionPara5,
  1352. gfid:gfid.value,
  1353. bfid:bfid.value,
  1354. }
  1355. console.log(params);
  1356. request(params)
  1357. .then((res) => {
  1358. sdialog.value.gdadddialog = false;
  1359. ElMessage({
  1360. message: '巷道信息'+tishi.value+'成功',
  1361. type: 'success',
  1362. })
  1363. guandaodata();
  1364. nextTick(()=>{
  1365. gfx.value.clearFiles();
  1366. inp.value.clearFiles();
  1367. })
  1368. })
  1369. .catch((err) => {
  1370. // sdialog.value.gdadddialog = true;
  1371. ElMessage.error(err.returnMsg)
  1372. })
  1373. } else{
  1374. // sdialog.value.gdadddialog = true;
  1375. ElMessage.error("结束节点要大于开始节点")
  1376. }
  1377. }
  1378. // 管道删除
  1379. //node删除
  1380. const nodedelete2 = () => {
  1381. console.log(gddata.value);
  1382. if (JSON.stringify(gddata.value) == '{}') {
  1383. ElMessage.error("你还没有选中删除的项目")
  1384. } else {
  1385. sdialog.value.guddialogsgdelect = true;
  1386. zqname.value = gddata.value.name;
  1387. }
  1388. }
  1389. const gddelete = () => {
  1390. const params = {
  1391. transCode: 'D10003',
  1392. pid: gddata.value.id,
  1393. }
  1394. request(params)
  1395. .then((res) => {
  1396. guandaodata();
  1397. ElMessage({
  1398. message: '巷道信息删除成功',
  1399. type: 'success',
  1400. })
  1401. gddata.value={};
  1402. })
  1403. .catch((err) => {
  1404. ElMessage.error(err.returnMsg)
  1405. })
  1406. }
  1407. // 管道修改
  1408. const accident2 = () => {
  1409. if (JSON.stringify(gddata.value) == '{}') {
  1410. ElMessage.error("你还没有选中修改的项目")
  1411. } else {
  1412. zhtext.value = '修改';
  1413. tishi.value=zhtext.value;
  1414. let sectionType=gddata.value.sectionType;
  1415. sdialog.value.gdadddialog = true;
  1416. guandaoobj.value.code = gddata.value.code;
  1417. guandaoobj.value.pid = gddata.value.id;
  1418. guandaoobj.value.name = gddata.value.name;
  1419. guandaoobj.value.snId = gddata.value.snId;
  1420. guandaoobj.value.enId = gddata.value.enId;
  1421. guandaoobj.value.roughCoe = gddata.value.roughCoe;
  1422. zuli.value.zidiny=gddata.value.roughCoe;
  1423. guandaoobj.value.roughCoeName = gddata.value.roughCoeName;
  1424. guandaoobj.value.sectionType = gddata.value.sectionType;
  1425. guandaoobj.value.sectionPara1 = gddata.value.sectionPara1;
  1426. guandaoobj.value.sectionPara2 = gddata.value.sectionPara2;
  1427. guandaoobj.value.sectionPara3 = gddata.value.sectionPara3;
  1428. guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1429. guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
  1430. switch (sectionType) {
  1431. case '圆形':
  1432. guandaoobj.value.sectionType='CIRCULAR'
  1433. break;
  1434. case "矩形":
  1435. guandaoobj.value.sectionType='RECTANGLE'
  1436. break;
  1437. case '半椭圆形':
  1438. guandaoobj.value.sectionType='SEMICIRCULAR'
  1439. break;
  1440. case '半圆形':
  1441. guandaoobj.value.sectionType='SEMIELLIPTICAL'
  1442. break;
  1443. case '蛋形':
  1444. guandaoobj.value.sectionType='EGG'
  1445. break;
  1446. case "哥特形":
  1447. guandaoobj.value.sectionType='GOTHIC'
  1448. break;
  1449. case '更正蓝形':
  1450. guandaoobj.value.sectionType='MODBASKETHANDLE'
  1451. break;
  1452. case '拱形':
  1453. guandaoobj.value.sectionType='ARCH'
  1454. break;
  1455. case "弧底矩形":
  1456. guandaoobj.value.sectionType='RECT_ROUND'
  1457. break;
  1458. case '蓝形':
  1459. guandaoobj.value.sectionType='BASKETHANDLE'
  1460. break;
  1461. case '马蹄形':
  1462. guandaoobj.value.sectionType='HORSESHOE'
  1463. break;
  1464. case "三角底矩形":
  1465. guandaoobj.value.sectionType='RECT_TRIANGULAR'
  1466. break;
  1467. case '竖向椭圆':
  1468. guandaoobj.value.sectionType='VERT_ELLIPSE'
  1469. break;
  1470. case '水平椭圆':
  1471. guandaoobj.value.sectionType='HORZI_ELLIPSE'
  1472. break;
  1473. case '悬链式':
  1474. guandaoobj.value.sectionType='CATENARY'
  1475. break;
  1476. }
  1477. changejm(guandaoobj.value.sectionType);
  1478. // guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1479. // guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
  1480. Gassaddgfid( gddata.value.gfid);
  1481. Gassaddbfid( gddata.value.bfid);
  1482. nextTick(()=>{
  1483. gfx.value.files=[];
  1484. inp.value.files=[];
  1485. })
  1486. }
  1487. }
  1488. // //文件上传的方法
  1489. const handfiles = (file) => {
  1490. files.value = "";
  1491. files.value = file;
  1492. }
  1493. const Gassaddgfid=(gf)=>{
  1494. gfid.value=gf;
  1495. }
  1496. const Gassaddbfid=( bf)=>{
  1497. bfid.value=bf;
  1498. console.log(11222)
  1499. }
  1500. // 清空文件
  1501. const clearFiles=()=>{
  1502. console.log(1111888881)
  1503. // inp.upload.clearFiles();
  1504. // gfx.upload.clearFiles();
  1505. }
  1506. //判断文件是否上传
  1507. const fileboolen=(val)=>{
  1508. let msg=gfx.value.msg;
  1509. let msg2=inp.value.msg;
  1510. console.log(msg2);
  1511. if(msg=="上传中"||msg2=="上传中"){
  1512. ElMessage.error("上传中不能关闭");
  1513. }else{
  1514. if(val=='cancel'){
  1515. sdialog.value.gdadddialog=false;
  1516. }else{
  1517. }
  1518. // sdialog.value.gdadddialog=false;
  1519. if(val=='confirm'&&msg=="已上传"||val=='confirm'&&msg2=="已上传"||val=='confirm'&&msg==undefined||val=='confirm'&&msg2==undefined){
  1520. //sdialog.value.gdadddialog=false;
  1521. if(guandaoobj.value.code==''){
  1522. ElMessage.error("编号不能为空");
  1523. }else if(guandaoobj.value.name==''){
  1524. ElMessage.error("名称不能为空");
  1525. }
  1526. else{
  1527. guandaoapi();
  1528. }
  1529. }
  1530. // guandaoapi();
  1531. }
  1532. }
  1533. // input 点击事件
  1534. const handleChange=(val)=>{
  1535. //resourcechange();
  1536. jsuanval.value=val;
  1537. console.log(val);
  1538. if(zairadio.value=='0'){
  1539. falsecalculatefun();
  1540. }else{
  1541. calculatefun();
  1542. }
  1543. }
  1544. // 阻碍
  1545. const zaihandleChange=(val)=>{
  1546. zuaival.value=val;
  1547. calculatefun();
  1548. }
  1549. // 选中计算
  1550. const resourcechange=(val)=>{
  1551. resource.value=val;
  1552. switch(resource.value){
  1553. case '0':
  1554. jsuanval.value=jisuanobj.value.val1;
  1555. break;
  1556. case '1':
  1557. jsuanval.value=jisuanobj.value.val2;
  1558. break;
  1559. case '2':
  1560. jsuanval.value=jisuanobj.value.val3;
  1561. break;
  1562. case '3':
  1563. jsuanval.value=jisuanobj.value.val4;
  1564. break;
  1565. }
  1566. if(zairadio.value=='0'){
  1567. falsecalculatefun();
  1568. }else{
  1569. calculatefun();
  1570. }
  1571. }
  1572. // 砌碹巷道
  1573. const resourcechange2=(val)=>{
  1574. resource.value=val;
  1575. switch(resource.value){
  1576. case '0':
  1577. jsuanval.value=qxmobj.value.val1;
  1578. break;
  1579. case '1':
  1580. jsuanval.value=qxmobj.value.val2;
  1581. break;
  1582. case '2':
  1583. jsuanval.value=qxmobj.value.val3;
  1584. break;
  1585. case '3':
  1586. jsuanval.value=qxmobj.value.val4;
  1587. break;
  1588. case '4':
  1589. jsuanval.value=qxmobj.value.val5;
  1590. break;
  1591. }
  1592. if(zairadio.value=='0'){
  1593. falsecalculatefun();
  1594. }else{
  1595. calculatefun();
  1596. }
  1597. }
  1598. // 障碍物
  1599. const zaireschange=(val)=>{
  1600. zaires.value=val;
  1601. switch(zaires.value){
  1602. case '0':
  1603. zuaival.value=zaiobj.value.val1;
  1604. break;
  1605. case '1':
  1606. zuaival.value=zaiobj.value.val2;
  1607. break;
  1608. case '2':
  1609. zuaival.value=zaiobj.value.val3;
  1610. break;
  1611. }
  1612. console.log( zuaival.value);
  1613. calculatefun()
  1614. }
  1615. // 障碍为否是
  1616. // 计算
  1617. const falsecalculatefun=()=>{
  1618. let zonghe= parseFloat( jsuanval.value);
  1619. zuli.value.jsuan=zonghe/ 10000;
  1620. }
  1621. // 计算
  1622. const calculatefun=()=>{
  1623. let zonghe= parseFloat( jsuanval.value)+parseFloat( zuaival.value);
  1624. zuli.value.jsuan=(zonghe/ 10000).toFixed(6);
  1625. }
  1626. // 清空
  1627. const zairadiochage1=()=>{
  1628. if(radio1.value=="0"){
  1629. zuli.value.jsuan=null;
  1630. jsuanval.value=0;
  1631. zuli.value.zidiny=guandaoobj.value.roughCoe;
  1632. console.log('jis'+zuli.value.jsuan);
  1633. }else if(radio1.value=="1"&&zairadio.value=='1'){
  1634. zuli.value.zidiny=null;
  1635. calculatefun();
  1636. }else if(zairadio.value=='0'){
  1637. falsecalculatefun();
  1638. }
  1639. else{
  1640. calculatefun();
  1641. }
  1642. }
  1643. const maoqueding=()=>{
  1644. if(radio1.value=='0'){
  1645. guandaoobj.value.roughCoe=zuli.value.zidiny;
  1646. }else if(radio1.value=='1'){
  1647. guandaoobj.value.roughCoe=zuli.value.jsuan;
  1648. }
  1649. ElMessage({
  1650. message:'系数保存成功',
  1651. type: 'success',
  1652. })
  1653. sdialog.value.resistance = false;
  1654. }
  1655. const seltree=(data)=>{
  1656. let val=data.value;
  1657. zairadiochage1();
  1658. radio1.value='0';
  1659. zuli.value.jsuan='';
  1660. zuli.value.zidiny= guandaoobj.value.roughCoe;
  1661. if(val=='毛壁面'){
  1662. jsuanval.value=58.8;
  1663. zulitext.value='毛壁面'
  1664. sdialog.value.resistance=true;
  1665. // calculatefun();
  1666. }else if(val=='砌碹面'){
  1667. jsuanval.value=29.4;
  1668. zulitext.value='砌碹巷道'
  1669. sdialog.value.resistance=true;
  1670. // calculatefun();
  1671. }else if(val=='圆木棚式支护'){
  1672. zulitext.value='圆木棚式支护'
  1673. sdialog.value.resistance=true;
  1674. }else if(val=='工字梁拱形和梯形支护'){
  1675. zulitext.value='工字梁拱形和梯形支护'
  1676. sdialog.value.resistance=true;
  1677. }else if(val=='金属梁与柱支护'){
  1678. zulitext.value='金属梁与柱支护'
  1679. sdialog.value.resistance=true;
  1680. }
  1681. else if(val=='其它支护'){
  1682. zulitext.value='其它支护'
  1683. sdialog.value.resistance=true;
  1684. }else if(val=='工作面'){
  1685. zulitext.value='工作面'
  1686. sdialog.value.resistance=true;
  1687. }else{
  1688. }
  1689. }
  1690. //其它支护的计算
  1691. const qtzhobjchange=(val)=>{
  1692. if(val=='0'){
  1693. jsuanval.value=qtzhobj.value.val1;
  1694. }else if(val=='1'){
  1695. jsuanval.value=qtzhobj.value.val2;
  1696. }
  1697. let zonghe= parseFloat( jsuanval.value);
  1698. zuli.value.jsuan=zonghe/ 10000;
  1699. }
  1700. //工作面
  1701. const handleRadioChange=(val)=>{
  1702. if(val=='0'){
  1703. gzmobj1.value.gzm=null;
  1704. gzmobj2.value.gzm=null;
  1705. }else if(val=='1'){
  1706. gzmobj.value.gzm=null;
  1707. gzmobj2.value.gzm=null;
  1708. }else if(val=='2'){
  1709. gzmobj.value.gzm=null;
  1710. gzmobj1.value.gzm=null;
  1711. }
  1712. }
  1713. defineExpose({ dialogVisible, });
  1714. </script>
  1715. <style scoped>
  1716. .maopading .jisuan1 .el-input-number{
  1717. width: 40%;
  1718. }
  1719. .maoconent{
  1720. }
  1721. </style>