MenuMine.vue 72 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014
  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="accident()">
  72. 修改
  73. </el-button></div>
  74. </div>
  75. <div class="footerbtn flex1">
  76. <div class="borderimg"><el-button @click="nodedelete()">
  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="accident2()">
  125. 修改
  126. </el-button></div>
  127. </div>
  128. <div class="footerbtn flex1">
  129. <div class="borderimg"><el-button @click="nodedelete2();">
  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 options2" :key="item.id"
  253. :label="item.label"
  254. :value="item.value">
  255. <!-- <el-image :src="item.image" ></el-image> -->
  256. <span style="padding-left: 10px;">{{item.label}}</span>
  257. </el-option>
  258. </el-select>
  259. </el-form-item>
  260. </div>
  261. <el-form-item label="最大深度:" :label-width="formLabelWidth7">
  262. <el-input v-model="guandaoobj.sectionPara1" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  263. </el-form-item>
  264. <el-form-item label="底部宽度:" :label-width="formLabelWidth7">
  265. <el-input v-model="guandaoobj.sectionPara2" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  266. </el-form-item>
  267. <el-form-item label="顶部半径:" :label-width="formLabelWidth7">
  268. <el-input v-model="guandaoobj.sectionPara3" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  269. </el-form-item>
  270. <!-- <div class="demo-input-suffix firsttitle magintop guand_1">
  271. <el-form-item label="截面类型" :label-width="formLabelWidth7">
  272. <el-select v-model="guandaoobj.sectionType" placeholder="请选择" @change="changejm">
  273. <el-option v-for="item in options" :key="item.id"
  274. :label="item.label"
  275. :value="item.value">
  276. <el-image :src="item.image" ></el-image>
  277. <span style="padding-left: 10px;">{{item.label}}</span>
  278. </el-option>
  279. </el-select>
  280. <div class="btn2">
  281. <div class="elimg" v-if="guandaoobj.sectionType=='CIRCULAR'"><el-image :src="y" fit="contain"></el-image></div>
  282. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECTANGLE'" ><el-image :src="j" fit="contain"></el-image></div>
  283. <div class="elimg" v-else-if="guandaoobj.sectionType=='SEMICIRCULAR'" ><el-image :src="m1" fit="contain"></el-image></div>
  284. <div class="elimg" v-else-if="guandaoobj.sectionType=='SEMIELLIPTICAL'" ><el-image :src="m2" fit="contain"></el-image></div>
  285. <div class="elimg" v-else-if="guandaoobj.sectionType=='EGG'" ><el-image :src="m3" fit="contain"></el-image></div>
  286. <div class="elimg" v-else-if="guandaoobj.sectionType=='GOTHIC'" ><el-image :src="m4" fit="contain"></el-image></div>
  287. <div class="elimg" v-else-if="guandaoobj.sectionType=='MODBASKETHANDLE'" ><el-image :src="m5" fit="contain"></el-image></div>
  288. <div class="elimg" v-else-if="guandaoobj.sectionType=='ARCH'" ><el-image :src="m6" fit="contain"></el-image></div>
  289. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECT_ROUND'" ><el-image :src="m7" fit="contain"></el-image></div>
  290. <div class="elimg" v-else-if="guandaoobj.sectionType=='BASKETHANDLE'" ><el-image :src="m8" fit="contain"></el-image></div>
  291. <div class="elimg" v-else-if="guandaoobj.sectionType=='HORSESHOE'" ><el-image :src="m9" fit="contain"></el-image></div>
  292. <div class="elimg" v-else-if="guandaoobj.sectionType=='RECT_TRIANGULAR'" ><el-image :src="m10" fit="contain"></el-image></div>
  293. <div class="elimg" v-else-if="guandaoobj.sectionType=='VERT_ELLIPSE'" ><el-image :src="m11" fit="contain"></el-image></div>
  294. <div class="elimg" v-else-if="guandaoobj.sectionType=='HORZI_ELLIPSE'" ><el-image :src="m12" fit="contain"></el-image></div>
  295. <div class="elimg" v-else-if="guandaoobj.sectionType=='CATENARY'" ><el-image :src="m13" fit="contain"></el-image></div>
  296. <div class="elimg" v-else><el-image :src="g" fit="contain"></el-image></div>
  297. </div>
  298. </el-form-item>
  299. </div> -->
  300. <!-- <el-form-item :label="labelobj.v1" :label-width="formLabelWidth7" v-show="labelobj2.isshow1" >
  301. <el-input v-model="guandaoobj.sectionPara1" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  302. </el-form-item>
  303. <el-form-item :label="labelobj.v2" :label-width="formLabelWidth7" v-show="labelobj2.isshow2" >
  304. <el-input v-model="guandaoobj.sectionPara2" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  305. </el-form-item>
  306. <el-form-item :label="labelobj.v3" :label-width="formLabelWidth7" v-show="labelobj2.isshow3" >
  307. <el-input v-model="guandaoobj.sectionPara3" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  308. </el-form-item>
  309. <el-form-item :label="labelobj.v4" :label-width="formLabelWidth7" v-show="labelobj2.isshow4" >
  310. <el-input v-model="guandaoobj.sectionPara4" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  311. </el-form-item>
  312. <el-form-item :label="labelobj.v5" :label-width="formLabelWidth7" v-show="labelobj2.isshow5" >
  313. <el-input v-model="guandaoobj.sectionPara5" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  314. </el-form-item> -->
  315. <div class=" btncolor tablefocus">
  316. <vue-uploader
  317. ref="gfx"
  318. :accept="'.x'"
  319. :upId="'1'"
  320. :gfname="gfname"
  321. :name="'网格文件上传'"
  322. @handfiles="handfiles"
  323. @Gassaddgfid="Gassaddgfid"
  324. @clearFiles="clearFiles"
  325. style="margin: 20px 0 0 0"
  326. >
  327. <el-row>
  328. </el-row>
  329. </vue-uploader>
  330. <vue-uploader
  331. ref="inp"
  332. :accept="'.inp'"
  333. :name="'边界文件'"
  334. :upId="'2'"
  335. :gfname="bfname"
  336. @handfiles="handfiles"
  337. @Gassaddbfid="Gassaddbfid"
  338. @clearFiles="clearFiles"
  339. style="margin: 20px 0 0 0"
  340. >
  341. </vue-uploader>
  342. </div>
  343. </div>
  344. <div class="dialog-footer footer_div l_btn">
  345. <div class="footerbtn flex1">
  346. <div class="borderimg"><el-button @click="fileboolen('cancel');">取消</el-button>
  347. </div>
  348. </div>
  349. <div class="footerbtn flex1">
  350. <div class="borderimg"><el-button @click="fileboolen('confirm');">
  351. 确定
  352. </el-button></div>
  353. </div>
  354. </div>
  355. </el-dialog>
  356. <!-- 删除 -->
  357. <el-dialog v-model="sdialog.guddialogsgdelect" align-center :append-to-body="true" width="400" class="dialog_class bgcolor tianjia">
  358. <template #header="{ titleId, titleClass }">
  359. <div class="my-header ">
  360. <el-image :src="icon" fit="contain"></el-image>
  361. <h4 :id="titleId" :class="titleClass">删除框</h4>
  362. </div>
  363. </template>
  364. <h4 class="delecttitle"> 是否确认删除 <span class="spanclad">{{ zqname }}</span></h4>
  365. <div class="dialog-footer footer_div l_btn">
  366. <div class="footerbtn flex1">
  367. <div class="borderimg"><el-button @click="sdialog.guddialogsgdelect = false">取消</el-button></div>
  368. </div>
  369. <div class="footerbtn flex1">
  370. <div class="borderimg"><el-button @click="gddelete(); sdialog.guddialogsgdelect = false">
  371. 确定
  372. </el-button></div>
  373. </div>
  374. </div>
  375. </el-dialog>
  376. <!-- 阻力系数弹窗 毛壁面-->
  377. <el-dialog v-model="sdialog.resistance" width="600" :append-to-body="true" :modal="false" :close-on-click-modal="false"
  378. draggable class="dialog_class bgcolor tablefocus shigutable">
  379. <template #header="{ titleId, titleClass }">
  380. <div class="my-header ">
  381. <el-image :src="icon" fit="contain"></el-image>
  382. <h4 :id="titleId" :class="titleClass">{{zulitext }}</h4>
  383. </div>
  384. </template>
  385. <div class='maoconent'>
  386. <div class='maopading'>
  387. <el-radio-group v-model="radio1" class="radio-group" @change="zairadiochage1">
  388. <div class='jisuan'>
  389. <div class='radio'>
  390. <el-radio label="0" >自定义阻力系数a:</el-radio></div>
  391. <el-input v-model="zuli.zidiny" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  392. </div>
  393. <div class='jisuan'>
  394. <div class='radio'>
  395. <el-radio label="1">计算阻力系数a:</el-radio></div>
  396. <el-form-item >
  397. <el-input v-model="zuli.jsuan" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')" class="w-50 m-2" placeholder="请输入" />
  398. </el-form-item>
  399. </div>
  400. </el-radio-group>
  401. <!--毛壁面 -->
  402. <div class="divshuzhi">
  403. <div v-if="radio1=='1'">
  404. <div class="xizhi yi" v-if="guandaoobj.roughCoeName=='毛壁面'">
  405. <el-radio-group v-model="resource" class="ml-4" @change="resourcechange">
  406. <div class="list">
  407. <div class='jisuan'>
  408. <div class='radio'>
  409. <el-radio label="0" >1.阻力因子ɑ×10⁴:</el-radio></div>
  410. <el-input-number v-model="jisuanobj.val1" :disabled="resource!='0'" :precision="1" :step="0.1" @change="handleChange">
  411. </el-input-number>
  412. </div>
  413. <span class="text">顺走向在煤层里挖的巷道(58.8)</span>
  414. </div>
  415. <div class="list">
  416. <div class='jisuan'>
  417. <div class='radio'>
  418. <el-radio label="1">2.阻力因子ɑ×10⁴:</el-radio></div>
  419. <el-input-number v-model="jisuanobj.val2" :disabled="resource!='1'" :min="68.6" :max="78.4" :precision="1" :step="0.1" @change="handleChange">
  420. </el-input-number>
  421. </div>
  422. <span class="text">交叉走向在煤层里挖的巷道(68.6~78.4)</span>
  423. </div>
  424. <div class="list">
  425. <div class='jisuan'>
  426. <div class='radio'>
  427. <el-radio label="2">3.阻力因子ɑ×10⁴:</el-radio></div>
  428. <el-input-number v-model="jisuanobj.val3" :disabled="resource!='2'" :min="58.8" :max="78.4" :precision="1" :step="0.1" @change="handleChange">
  429. </el-input-number>
  430. </div>
  431. <span class="text">巷道与地板粗糙度相同的巷道(58.8~78.4)</span>
  432. </div>
  433. <div class="list">
  434. <div class='jisuan'>
  435. <div class='radio'>
  436. <el-radio label="3" >4.阻力因子ɑ×10⁴:</el-radio></div>
  437. <el-input-number v-model="jisuanobj.val4" :disabled="resource!='3'" :min="98.0" :max="147.0" :precision="1" :step="0.1" @change="handleChange">
  438. </el-input-number>
  439. </div>
  440. <span class="text">巷道与地板粗糙度相同,地面阻塞情况下 (98.0~147.0)</span>
  441. </div>
  442. </el-radio-group>
  443. </div>
  444. <!--砌碹面 -->
  445. <div class="xizhi er" v-if="guandaoobj.roughCoeName=='砌碹面'">
  446. <el-radio-group v-model="resource" class="ml-4" @change="resourcechange2">
  447. <div class="list">
  448. <div class='jisuan'>
  449. <div class='radio'>
  450. <el-radio label="0" v-model="qxmradio">1.阻力因子ɑ×10⁴:</el-radio></div>
  451. <el-input-number v-model="qxmobj.val1" :disabled="resource!='0'" :min="29.4" :max="39.2" :precision="1" :step="0.1" @change="handleChange">
  452. </el-input-number>
  453. </div>
  454. <span class="text">混凝土砌碹、外抹灰浆(29.4~39.2)</span>
  455. </div>
  456. <div class="list">
  457. <div class='jisuan'>
  458. <div class='radio'>
  459. <el-radio label="1" v-model="qxmradio">2.阻力因子ɑ×10⁴:</el-radio></div>
  460. <el-input-number v-model="qxmobj.val2" :disabled="resource!='1'" :min="49.0" :max="68.6" :precision="1" :step="0.1" @change="handleChange">
  461. </el-input-number>
  462. </div>
  463. <span class="text">混凝土砌碹、外抹灰浆(49.0~68.6))</span>
  464. </div>
  465. <div class="list">
  466. <div class='jisuan'>
  467. <div class='radio'>
  468. <el-radio label="2" v-model="qxmradio">3.阻力因子ɑ×10⁴:</el-radio></div>
  469. <el-input-number v-model="qxmobj.val3" :disabled="resource!='2'" :min="24.5" :max="29.4" :precision="1" :step="0.1" @change="handleChange">
  470. <template #decrease-icon>
  471. <el-icon><ArrowLeft /></el-icon>
  472. </template>
  473. <template #increase-icon>
  474. <el-icon><ArrowRight /></el-icon>
  475. </template>
  476. </el-input-number>
  477. </div>
  478. <span class="text">砖砌碹、外抹灰浆(24.5~29.4))</span>
  479. </div>
  480. <div class="list">
  481. <div class='jisuan'>
  482. <div class='radio'>
  483. <el-radio label="3" v-model="qxmradio">4.阻力因子ɑ×10⁴:</el-radio></div>
  484. <el-input-number v-model="qxmobj.val4" :disabled="resource!='3'" :min="29.4" :max="39.2" :precision="1" :step="0.1" @change="handleChange">
  485. </el-input-number>
  486. </div>
  487. <span class="text">砖砌碹、不抹灰浆(29.4~39.2)</span>
  488. </div>
  489. <div class="list">
  490. <div class='jisuan'>
  491. <div class='radio'>
  492. <el-radio label="4" v-model="qxmradio">5.阻力因子ɑ×10⁴:</el-radio></div>
  493. <el-input-number v-model="qxmobj.val5" :disabled="resource!='4'" :min="39.2" :max="49.0" :precision="1" :step="0.1" @change="handleChange">
  494. </el-input-number>
  495. </div>
  496. <span class="text">料石(39.2~49.0)</span>
  497. </div>
  498. </el-radio-group>
  499. </div>
  500. <!-- 圆木棚式支护3-1 -->
  501. <div v-if="guandaoobj.roughCoeName=='圆木棚式支护'">
  502. <div class="xizhi san_1" >
  503. <div class="list">
  504. <div class='jisuan1'>
  505. <div class='radiotext'>支护间距L(cm):</div>
  506. <el-input-number v-model="ympszh.val1" :precision="1" :step="0.1" @change="handleChange">
  507. </el-input-number>
  508. </div>
  509. </div>
  510. <div class="list">
  511. <div class='jisuan1'>
  512. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  513. <el-input-number v-model="ympszh.val2" :precision="1" :step="0.1" @change="handleChange">
  514. </el-input-number>
  515. </div>
  516. </div>
  517. <div class="list">
  518. <div class='jisuan1'>
  519. <div class='radiotext'>巷道横截面积S(m2):</div>
  520. <el-input-number v-model="ympszh.val3" :precision="1" :step="0.1" @change="handleChange">
  521. </el-input-number>
  522. </div>
  523. </div>
  524. </div>
  525. <div class="list">
  526. <div class='jisuan1'>
  527. <div class='elimage'>
  528. <el-image :src="js" fit="contain"></el-image>
  529. </div>
  530. </div>
  531. </div>
  532. <div class="list">
  533. <div class='jisuan1'>
  534. <div class='radiotext tishi'>∆=L/d</div>
  535. </div>
  536. </div>
  537. </div>
  538. <!-- 工字梁拱形和梯形支护3-2 -->
  539. <div v-if="guandaoobj.roughCoeName=='工字梁拱形和梯形支护'">
  540. <div class="xizhi san_2" >
  541. <div class="list">
  542. <div class='jisuan1'>
  543. <div class='radiotext'>支护间距L(cm):</div>
  544. <el-input-number v-model="gzlg.val1" :precision="1" :step="0.1" @change="handleChange">
  545. </el-input-number>
  546. </div>
  547. </div>
  548. <div class="list">
  549. <div class='jisuan1'>
  550. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  551. <el-input-number v-model="gzlg.val2" :precision="1" :step="0.1" @change="handleChange">
  552. </el-input-number>
  553. </div>
  554. </div>
  555. <div class="list">
  556. <div class='jisuan1'>
  557. <div class='radiotext'>巷道横截面积S(m2):</div>
  558. <el-input-number v-model="gzlg.val3" :precision="1" :step="0.1" @change="handleChange">
  559. </el-input-number>
  560. </div>
  561. </div>
  562. </div>
  563. <div class="list">
  564. <div class='jisuan1'>
  565. <div class='elimage'>
  566. <el-image :src="js2" fit="contain"></el-image>
  567. </div>
  568. </div>
  569. </div>
  570. <div class="list">
  571. <div class='jisuan1'>
  572. <div class='radiotext tishi'>∆=L/d</div>
  573. </div>
  574. </div>
  575. </div>
  576. <div v-if="guandaoobj.roughCoeName=='金属梁与柱支护'">
  577. <div class="xizhi san_3" >
  578. <div class="list">
  579. <div class='jisuan1'>
  580. <div class='radiotext'>支护间距L(cm):</div>
  581. <el-input-number v-model="jsl.val1" :precision="1" :step="0.1" @change="handleChange">
  582. </el-input-number>
  583. </div>
  584. </div>
  585. <div class="list">
  586. <div class='jisuan1'>
  587. <div class='radiotext'>支护圆木直径/方木厚度d(cm):</div>
  588. <el-input-number v-model="jsl.val2" :precision="1" :step="0.1" @change="handleChange">
  589. </el-input-number>
  590. </div>
  591. </div>
  592. <div class="list">
  593. <div class='jisuan1'>
  594. <div class='radiotext'>巷道横截面积S(m2):</div>
  595. <el-input-number v-model="jsl.val3" :precision="1" :step="0.1" @change="handleChange">
  596. </el-input-number>
  597. </div>
  598. </div>
  599. </div>
  600. <div class="list">
  601. <div class='jisuan1'>
  602. <div class='elimage'>
  603. <el-image :src="js3" fit="contain"></el-image>
  604. </div>
  605. </div>
  606. </div>
  607. <div class="list">
  608. <div class='jisuan1'>
  609. <div class='radiotext tishi'>∆=L/d</div>
  610. </div>
  611. </div>
  612. </div>
  613. <!--其它支护 3-4 -->
  614. <div class="xizhi san_4" v-if="guandaoobj.roughCoeName=='其它支护'">
  615. <el-radio-group v-model="qitaval" class="ml-4" @change="qtzhobjchange">
  616. <div class="list">
  617. <div class='jisuan'>
  618. <div class='radio'>
  619. <el-radio label="0" v-model="resource">1.阻力因子ɑ×10⁴:</el-radio></div>
  620. <el-input-number v-model="qtzhobj.val1" :disabled="resource!='0'" :min="88.2" :max="168.2" :precision="1" :step="0.1" @change="handleChange">
  621. </el-input-number>
  622. </div>
  623. <span class="text">钢筋混凝土预制支架巷道(88.2~168.2)</span>
  624. </div>
  625. <div class="list">
  626. <div class='jisuan'>
  627. <div class='radio'>
  628. <el-radio :label="1" v-model="resource">2.阻力因子ɑ×10⁴:</el-radio></div>
  629. <el-input-number v-model="qtzhobj.val2" :disabled="resource!='1'" :min="78.4" :max="117.6" :precision="1" :step="0.1" @change="handleChange">
  630. </el-input-number>
  631. </div>
  632. <span class="text">锚杆和喷浆巷道(78.4~117.6)</span>
  633. </div>
  634. </el-radio-group>
  635. </div>
  636. <!--工作面4-->
  637. <div class="xizhi san_4" v-if="guandaoobj.roughCoeName=='工作面'">
  638. <el-radio label="0" v-model="faterradio" @change="handleRadioChange">A.炮开采面因子ɑ×10⁴:</el-radio>
  639. <el-radio-group v-model="gzmobj.gzm" :disabled="faterradio!='0'" @change="gzchange" >
  640. <div class="list">
  641. <div class='jisuan'>
  642. <div class='radio'>
  643. <el-radio label="1" > 摩擦式金属支柱:</el-radio></div>
  644. <el-input-number v-model="gzmobj.val1" :disabled="faterradio!='0'||gzmobj.gzm!='1'" :precision="1" :step="0.1" @change="handleChange">
  645. </el-input-number>
  646. </div>
  647. <span class="text">推荐值(270~350)</span>
  648. </div>
  649. <div class="list">
  650. <div class='jisuan'>
  651. <div class='radio'>
  652. <el-radio label="2" >采用木支柱:</el-radio></div>
  653. <el-input-number v-model="gzmobj.val2" :disabled="faterradio!='0'||gzmobj.gzm!='2'" :precision="1" :step="0.1" @change="handleChange">
  654. </el-input-number>
  655. </div>
  656. <span class="text">推荐值(300~350)</span>
  657. </div>
  658. </el-radio-group>
  659. <el-radio label="1" v-model="faterradio" @change="handleRadioChange">B.普通采面阻力因子ɑ×10⁴:</el-radio>
  660. <el-radio-group v-model="gzmobj1.gzm" :disabled="faterradio!='1'" @change="gzchange">
  661. <div class="list">
  662. <div class='jisuan'>
  663. <div class='radio'>
  664. <el-radio label="3" > 采用单体液压支柱:</el-radio></div>
  665. <el-input-number v-model="gzmobj1.val1" :disabled="faterradio!='1'||gzmobj1.gzm!='3'" :precision="1" :step="0.1" @change="handleChange">
  666. </el-input-number>
  667. </div>
  668. <span class="text">推荐值(420~500)</span>
  669. </div>
  670. <div class="list">
  671. <div class='jisuan'>
  672. <div class='radio'>
  673. <el-radio label="4" >采用摩擦式金属支柱:</el-radio></div>
  674. <el-input-number v-model="gzmobj1.val2" :disabled="faterradio!='1'||gzmobj1.gzm!='4'" :precision="1" :step="0.1" @change="handleChange">
  675. </el-input-number>
  676. </div>
  677. <span class="text">推荐值(450~500)</span>
  678. </div>
  679. </el-radio-group>
  680. <el-radio label="2" v-model="faterradio" @change="handleRadioChange">C.综合采面阻力因子ɑ×10⁴:</el-radio>
  681. <el-radio-group v-model="gzmobj2.gzm" :disabled="faterradio!='2'" @change="gzchange" >
  682. <div class="list">
  683. <div class='jisuan'>
  684. <div class='radio'>
  685. <el-radio label="5" > 采用支撑式液压支架:</el-radio></div>
  686. <el-input-number v-model="gzmobj2.val1" :disabled="faterradio!='2'||gzmobj2.gzm!='5'" :precision="1" :step="0.1" @change="handleChange">
  687. </el-input-number>
  688. </div>
  689. <span class="text">推荐值(300~420)</span>
  690. </div>
  691. <div class="list">
  692. <div class='jisuan'>
  693. <div class='radio'>
  694. <el-radio label="6" >采用掩护式液压支架:</el-radio></div>
  695. <el-input-number v-model="gzmobj2.val2" :disabled="faterradio!='2'||gzmobj2.gzm!='6'" :precision="1" :step="0.1" @change="handleChange">
  696. </el-input-number>
  697. </div>
  698. <span class="text">推荐值(220~330)</span>
  699. </div>
  700. <div class="list">
  701. <div class='jisuan'>
  702. <div class='radio'>
  703. <el-radio label="7" >采用支撑掩护式支架:</el-radio></div>
  704. <el-input-number v-model="gzmobj2.val3" :disabled="faterradio!='2'||gzmobj2.gzm!='7'" :precision="1" :step="0.1" @change="handleChange">
  705. </el-input-number>
  706. </div>
  707. <span class="text">推荐值(320~350)</span>
  708. </div>
  709. </el-radio-group>
  710. </div>
  711. <!-- 巷道有障碍物阻力修正 -->
  712. <el-form-item label=" 巷道有障碍物阻力修正:">
  713. <el-radio-group v-model="zairadio" @change="zairadiochage1">
  714. <el-radio label="1">是</el-radio>
  715. <el-radio label="0">否</el-radio>
  716. </el-radio-group>
  717. </el-form-item>
  718. <div class="xizhi" v-if="zairadio=='1'">
  719. <el-radio-group v-model="zaires" class="ml-4" @change="zaireschange">
  720. <div class="list" >
  721. <div class='jisuan'>
  722. <div class='radio'>
  723. <el-radio label="0" >1.阻力因子ɑ×10⁴:</el-radio></div>
  724. <el-input-number v-model="zaiobj.val1" :disabled="zaires!='0'" :min="147" :max="196" :precision="1" :step="0.1" @change="zaihandleChange">
  725. </el-input-number>
  726. </div>
  727. <span class="text">带有带式传送机的巷道(147~196))</span>
  728. </div>
  729. <div class="list" >
  730. <div class='jisuan'>
  731. <div class='radio'>
  732. <el-radio label="1" v-model="zaires">2.阻力因子ɑ×10⁴:</el-radio></div>
  733. <el-input-number v-model="zaiobj.val2" :disabled="zaires!='1'" :precision="1" :step="0.1" @change="zaihandleChange">
  734. </el-input-number>
  735. </div>
  736. <span class="text">设有水管、风管、木梯台阶的巷道(98))</span>
  737. </div>
  738. <div class="list" >
  739. <div class='jisuan'>
  740. <div class='radio'>
  741. <el-radio label="2" v-model="zaires">3.阻力因子ɑ×10⁴:</el-radio></div>
  742. <el-input-number v-model="zaiobj.val3" :disabled="zaires!='2'" :min="29.4" :max="98" :precision="1" :step="0.1" @change="zaihandleChange">
  743. </el-input-number>
  744. </div>
  745. <span class="text">当巷道严重堵塞时(29.4~98)</span>
  746. </div>
  747. </el-radio-group>
  748. </div>
  749. <!-- </el-radio-group> -->
  750. </div>
  751. </div>
  752. </div>
  753. </div>
  754. <div class="dialog-footer footer_div l_btn">
  755. <div class="footerbtn flex1">
  756. <div class="borderimg"><el-button @click="sdialog.resistance = false">取消</el-button></div>
  757. </div>
  758. <div class="footerbtn flex1">
  759. <div class="borderimg"><el-button @click="maoqueding();">
  760. 确定
  761. </el-button></div>
  762. </div>
  763. </div>
  764. </el-dialog>
  765. <Node-Select ref="nodeselect" @queding="queding" />
  766. <!-- -->
  767. </div>
  768. </div>
  769. </div>
  770. </div>
  771. </el-collapse-item>
  772. </el-collapse>
  773. </div>
  774. </el-aside>
  775. </div>
  776. </div>
  777. </template>
  778. <script setup>
  779. import { computed, ref, onMounted, reactive, toRef } from "vue";
  780. import { request, uploadFile } from "@/utils/request";
  781. import { ElMessage, ElButton, ElDialog, ElSelect,ElConfigProvider } from 'element-plus'
  782. import { ArrowDown, ArrowUp,Crop, Minus, Plus,ArrowRight,ArrowLeft } from '@element-plus/icons-vue'
  783. import zhCn from 'element-plus/es/locale/lang/zh-cn'
  784. import icon from "@/assets/img/icon.png";
  785. import g from "@/assets/img/g.jpg";
  786. import j from "@/assets/img/j2.png";
  787. import y from "@/assets/img/y2.png";
  788. import m1 from "@/assets/img/m1.png";
  789. import m2 from "@/assets/img/m2.png";
  790. import m3 from "@/assets/img/m3.png";
  791. import m4 from "@/assets/img/m4.png";
  792. import m5 from "@/assets/img/m5.png";
  793. import m6 from "@/assets/img/m6.png";
  794. import m7 from "@/assets/img/m7.png";
  795. import m8 from "@/assets/img/m8.png";
  796. import m9 from "@/assets/img/m9.png";
  797. import m10 from "@/assets/img/m10.png";
  798. import m11 from "@/assets/img/m11.png";
  799. import m12 from "@/assets/img/m12.png";
  800. import m13 from "@/assets/img/m13.png";
  801. import js from "@/assets/img/js.png";
  802. import js2 from "@/assets/img/js2.png";
  803. import js3 from "@/assets/img/js3.png";
  804. import { timestampToTime } from '@/js/lindex.js';
  805. import NodeSelect from "./NodeLine.vue";
  806. import vueUploader from "./fileuploads.vue";
  807. // import Menufile from "./MenuFile.vue"
  808. // import upFile from "./upfile.vue";
  809. //
  810. // let labelobj=ref(
  811. // {v1:"截面信息1"},
  812. // {v2:"截面信息2",isshow:true},
  813. // {v3:"截面信息3",},
  814. // {v4:"截面信息4"},
  815. // {v5:"截面信息5",isshow:false},
  816. // // {v3:"截面信息3", v4:"截面信息4", v5:"截面信息5",show:true}
  817. // )
  818. // let labelobj=ref(
  819. // {v1:"截面信息1"},
  820. // {v2:"截面信息2"},
  821. // {v3:"截面信息3"},
  822. // {v4:"截面信息4"},
  823. // {v5:"截面信息5"},
  824. // )
  825. let labelobj=ref({v1:"截面信息1",v2:"截面信息2",v3:"截面信息3", v4:"截面信息4", v5:"截面信息5"})
  826. let labelobj2=ref(
  827. {isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  828. )
  829. let zuli=ref({
  830. zidiny:'',
  831. jsuan:''
  832. })
  833. let jsuanval=ref(58.8);
  834. let zuaival=ref(147.0);
  835. let jisuanobj=ref({
  836. val1:58.8,
  837. val2:68.6,
  838. val3:78.4,
  839. val4:58.8,
  840. })
  841. let qxmradio=ref("0");
  842. let qxmobj=ref({
  843. val1:29.4,
  844. val2:49,
  845. val3:24.5,
  846. val4:29.4,
  847. val5:39.2,
  848. })
  849. let qtzhobj=ref({
  850. val1:88.2,
  851. val2:78.4,
  852. })
  853. let ympszh=ref({
  854. val1:29.4,
  855. val2:49.0,
  856. val3:49.0,
  857. })
  858. let gzlg=ref({
  859. val1:29.4,
  860. val2:49.0,
  861. val3:49.0,
  862. })
  863. let jsl=ref({
  864. val1:29.4,
  865. val2:49.0,
  866. val3:49.0,
  867. })
  868. let zairadio=ref('1');
  869. let zaires=ref("0")
  870. let zaiobj=ref({
  871. val1:147,
  872. val2:98,
  873. val3:29.4,
  874. })
  875. let gzmobj=ref({
  876. gzm:0,
  877. val1:98.0,
  878. val2:47.7
  879. })
  880. let gzmobj1=ref({
  881. gzm:0,
  882. val1:98.0,
  883. val2:47.7
  884. })
  885. let gzmobj2=ref({
  886. gzm:0,
  887. val1:98.0,
  888. val2:47.7,
  889. val3:47.7
  890. })
  891. let faterradio=ref("0")
  892. // 文件上传参数
  893. const radio1 = ref('0');
  894. const gfx=ref();
  895. const inp=ref();
  896. let gid=ref("");
  897. let wsid=ref("");
  898. let gfid=ref("");
  899. let bfid=ref("");
  900. let gfname=ref("");
  901. let bfname=ref("");
  902. let resource=ref('0')
  903. let qitaval=ref('0')
  904. let num=ref();
  905. const value = ref()
  906. const dataselct = ref([
  907. {
  908. value: '毛壁面',
  909. label: '毛壁面',
  910. },
  911. {
  912. value: '砌碹面',
  913. label: '砌碹面',
  914. },
  915. {
  916. value: '支护面',
  917. label: '支护面',
  918. children: [
  919. {
  920. value: '圆木棚式支护',
  921. label: '圆木棚式支护',
  922. },
  923. {
  924. value: '工字梁拱形和梯形支护',
  925. label: '工字梁拱形和梯形支护',
  926. },
  927. {
  928. value: '金属梁与柱支护',
  929. label: '金属梁与柱支护',
  930. },
  931. {
  932. value: '其它支护',
  933. label: '其它支护',
  934. },
  935. ],
  936. },
  937. {
  938. value: '工作面',
  939. label: '工作面',
  940. },
  941. ])
  942. let zulitext=ref();
  943. let tishi=ref('');
  944. let nodeselect = ref();
  945. let dialogVisible = ref(false);
  946. let tableData2 = ref([]);
  947. let classradio1 = ref('Fire');
  948. let coolactiveName1 = ref(["1"]);
  949. let formLabelWidth6 = ref(70);
  950. let formLabelWidth7 = ref(100)
  951. const resultactiveName = ref("first");
  952. let tableHeight = ref(280);
  953. let total = ref(1);
  954. let searchtag = ref("");
  955. // const statusMap = {
  956. // 'CIRCULAR': '圆形',
  957. // 'RECTANGLE': '矩形',
  958. // 'SEMICIRCULAR': '半椭圆形',
  959. // 'SEMIELLIPTICAL': '半圆形',
  960. // 'EGG': '蛋形',
  961. // 'GOTHIC': '哥特形',
  962. // 'MODBASKETHANDLE': '更正蓝形',
  963. // 'ARCH': '拱形',
  964. // 'RECT_ROUND': '弧底矩形',
  965. // 'BASKETHANDLE': '蓝形',
  966. // 'HORSESHOE': '马蹄形',
  967. // 'RECT_TRIANGULAR': '三角底矩形',
  968. // 'VERT_ELLIPSE': '竖向椭圆',
  969. // 'HORZI_ELLIPSE': '水平椭圆',
  970. // 'CATENARY': '悬链式',
  971. // };
  972. const statusMap = {
  973. 'halfarch_1': '1-1断面',
  974. 'halfarch_2': '2-2断面',
  975. 'halfarch_3': '3-3断面',
  976. 'halfarch_4': '4-4断面',
  977. 'halfarch_5': '5-5断面',
  978. 'halfarch_6': '6-6断面',
  979. 'halfarch_7': '7-7断面',
  980. 'halfarch_8': '8-8断面',
  981. 'section9': '9-9断面',
  982. 'section10': '10-10断面',
  983. 'halfarch_11': '11-11断面',
  984. 'halfarch_12': '12-12断面',
  985. 'halfarch_13': '13-13断面',
  986. 'halfarch_14': '14-14断面',
  987. 'halfarch_15': '15-15断面',
  988. 'halfarch_16': '16-16断面',
  989. 'halfarch_17': '17-17断面',
  990. 'halfarch_18': '18-18断面',
  991. 'halfarch_19': '19-19断面',
  992. 'halfarch_20': '20-20断面',
  993. };
  994. let options2 = ref([
  995. {
  996. label: '1-1断面', value: "halfarch_1"
  997. },
  998. {
  999. label: '2-2断面', value: "halfarch_2"
  1000. },
  1001. {
  1002. label: '3-3断面', value: "halfarch_3"
  1003. },
  1004. {
  1005. label: '4-4断面', value: "halfarch_4"
  1006. },
  1007. {
  1008. label: '5-5断面', value: "halfarch_5"
  1009. },
  1010. {
  1011. label: '6-6断面', value: "halfarch_6"
  1012. },
  1013. {
  1014. label: '7-7断面', value: "halfarch_7"
  1015. },
  1016. {
  1017. label: '8-8断面', value: "halfarch_8"
  1018. },
  1019. {
  1020. label: '9-9断面', value: "section9"
  1021. },
  1022. {
  1023. label: '10-10断面', value: "section10"
  1024. },
  1025. {
  1026. label: '11-11断面', value: "halfarch_11"
  1027. },
  1028. {
  1029. label: '12-12断面', value: "halfarch_12"
  1030. },
  1031. {
  1032. label: '13-13断面', value: "halfarch_13"
  1033. },
  1034. {
  1035. label: '14-14断面', value: "halfarch_14"
  1036. },
  1037. {
  1038. label: '15-15断面', value: "halfarch_15"
  1039. },
  1040. {
  1041. label: '16-16断面', value: "halfarch_16"
  1042. },
  1043. {
  1044. label: '17-17断面', value: "halfarch_17"
  1045. },
  1046. {
  1047. label: '18-18断面', value: "halfarch_18"
  1048. },{
  1049. label: '19-19断面', value: "halfarch_19"
  1050. },
  1051. {
  1052. label: '20-20断面', value: "halfarch_20"
  1053. },
  1054. ])
  1055. let options = ref([
  1056. {
  1057. label: '圆形', value: "CIRCULAR",image:y
  1058. },
  1059. {
  1060. label: '矩形', value: "RECTANGLE",image:j
  1061. },
  1062. {
  1063. label: '半椭圆形', value: "SEMICIRCULAR",image:m1
  1064. },
  1065. {
  1066. label: '半圆形', value: "SEMIELLIPTICAL",image:m2
  1067. },
  1068. {
  1069. label: '蛋形', value: "EGG",image:m3
  1070. },
  1071. {
  1072. label: '哥特形', value: "GOTHIC",image:m4
  1073. },
  1074. {
  1075. label: '更正蓝形', value: "MODBASKETHANDLE",image:m5
  1076. },
  1077. {
  1078. label: '拱形', value: "ARCH",image:m6
  1079. },
  1080. {
  1081. label: '弧底矩形', value: "RECT_ROUND",image:m7
  1082. },
  1083. {
  1084. label: '蓝形', value: "BASKETHANDLE",image:m8
  1085. },
  1086. {
  1087. label: '马蹄形', value: "HORSESHOE",image:m9
  1088. },
  1089. {
  1090. label: '三角底矩形', value: "RECT_TRIANGULAR",image:m10
  1091. },
  1092. {
  1093. label: '竖向椭圆', value: "VERT_ELLIPSE",image:m11
  1094. },
  1095. {
  1096. label: '水平椭圆', value: "HORZI_ELLIPSE",image:m12
  1097. },
  1098. {
  1099. label: '悬链式', value: "CATENARY",image:m13
  1100. },
  1101. ])
  1102. const currentPage4 = ref(1);
  1103. const pageSize4 = ref(4)
  1104. let currentrow = ref(false);
  1105. let currentrow1 = ref(false);
  1106. let sdialog = ref({
  1107. adddialog: false,
  1108. dialogsgdelect: false,
  1109. gdadddialog: false,
  1110. guddialogsgdelect: false,
  1111. resistance:false,
  1112. })
  1113. let sideid = ref("");
  1114. let tableData3 = ref();
  1115. let zqname = ref("");
  1116. let zhtext = ref("添加");
  1117. let nodedata = ref({});
  1118. let gddata = ref({});
  1119. let nodeobj = ref({
  1120. name: "",
  1121. x: "",
  1122. y: "",
  1123. z: "",
  1124. code:'',
  1125. })
  1126. let guandaoobj = ref({
  1127. pid: '',
  1128. name: '',
  1129. snId: Number,
  1130. enId:Number ,
  1131. roughCoe: '',
  1132. roughCoeName:'毛壁面',
  1133. sectionType: 'halfarch_1',
  1134. sectionPara1: '',
  1135. sectionPara2: '',
  1136. sectionPara3: '',
  1137. sectionPara4: 0.1,
  1138. sectionPara5: '',
  1139. code:'',
  1140. })
  1141. let gd = ref({
  1142. total: 1,
  1143. currentPage4: 1,
  1144. pageSize4: 5,
  1145. })
  1146. const tableRowClassName = ({ row, rowIndex }) => {
  1147. if (rowIndex % 2 != 0) {
  1148. return 'evenRow';
  1149. }
  1150. return 'oddRow';
  1151. }
  1152. onMounted(() => {
  1153. pipelinedata()
  1154. })
  1155. // tab选项事件
  1156. const handleClick = (Tab, val) => {
  1157. switch (Tab.props.name) {
  1158. case 'first':
  1159. pipelinedata()
  1160. break;
  1161. case "second":
  1162. guandaodata();
  1163. break;
  1164. case 'third':
  1165. break;
  1166. case 'thirds':
  1167. break;
  1168. }
  1169. }
  1170. // 节点分页查询
  1171. const handleCurrentChange = (val) => {
  1172. pipelinedata();
  1173. }
  1174. // 管道分页查询
  1175. const handleCurrentChange2 = (val) => {
  1176. guandaodata();
  1177. }
  1178. //节点数据查询
  1179. const pipelinedata = () => {
  1180. const params = {
  1181. transCode: 'D00000',
  1182. count: pageSize4.value,
  1183. page: currentPage4.value,
  1184. searchtag: searchtag.value,
  1185. }
  1186. request(params)
  1187. .then((res) => {
  1188. tableData2.value = res.rows;
  1189. total.value = res.total;
  1190. nodedata.value={}
  1191. })
  1192. .catch((err) => {
  1193. ElMessage.error(err.returnMsg)
  1194. })
  1195. }
  1196. //节点的添加
  1197. const addsg = () => {
  1198. zhtext.value = '添加';
  1199. currentrow.value = false;
  1200. sdialog.value.adddialog = true;
  1201. nodeobj.value.name = "";
  1202. nodeobj.value.x = "";
  1203. nodeobj.value.y = "";
  1204. nodeobj.value.z = "";
  1205. nodeobj.value.nid = '';
  1206. nodeobj.value.code = '';
  1207. nodedata.value={};
  1208. tishi.value='保存';
  1209. }
  1210. //节点添加api
  1211. const nodeconfirm = () => {
  1212. if(nodeobj.value.name==null||nodeobj.value.name==''){
  1213. ElMessage.error('名称不能为空')
  1214. }else if(nodeobj.value.code==null||nodeobj.value.code==''){
  1215. ElMessage.error('编号不能为空')
  1216. }else if(nodeobj.value.x==null||nodeobj.value.x==''){
  1217. ElMessage.error('X不能为空')
  1218. }else if(nodeobj.value.y==null||nodeobj.value.y==''){
  1219. ElMessage.error('Y不能为空')
  1220. }else if(nodeobj.value.z==null||nodeobj.value.z==''){
  1221. ElMessage.error("Z不能为空")
  1222. } else if(nodeobj.value.name!=''&&nodeobj.value.x!=''&&nodeobj.value.y!=''&&nodeobj.value.z!=''){
  1223. const params = {
  1224. transCode: 'D10000',
  1225. nid: nodeobj.value.nid,
  1226. name: nodeobj.value.name,
  1227. x: nodeobj.value.x,
  1228. y: nodeobj.value.y,
  1229. z: nodeobj.value.z,
  1230. code: nodeobj.value.code,
  1231. desc: "",
  1232. ntype: "mid",
  1233. }
  1234. request(params)
  1235. .then((res) => {
  1236. sdialog.value.adddialog = false;
  1237. pipelinedata();
  1238. ElMessage({
  1239. message: '节点'+tishi.value+'成功',
  1240. type: 'success',
  1241. })
  1242. })
  1243. .catch((err) => {
  1244. ElMessage.error(err.returnMsg)
  1245. })
  1246. }else{
  1247. ElMessage.error("不能为空")
  1248. }
  1249. }
  1250. // 界面
  1251. const changejm=(val)=>{
  1252. console.log(val);
  1253. if(val=='CIRCULAR'){
  1254. labelobj.value.v1='直径';
  1255. labelobj2.value={isshow1:false,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1256. }else if(val=='RECTANGLE'){
  1257. labelobj.value.v1='全高';
  1258. labelobj.value.v2='顶宽';
  1259. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1260. }else if(val=='SEMICIRCULAR'||val=='BASKETHANDLE'||val=='HORSESHOE'||val=='CATENARY'||val=='SEMIELLIPTICAL'||val=='EGG'||val=='GOTHIC'){
  1261. labelobj.value.v1='全高';
  1262. labelobj2.value={isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1263. }else if(val=='MODBASKETHANDLE'){
  1264. labelobj.value.v1='全高';
  1265. labelobj.value.v2='底宽';
  1266. labelobj.value.v3='顶部半径*5';
  1267. console.log()
  1268. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1269. }else if(val=='ARCH'){
  1270. labelobj.value.v1='全高';
  1271. labelobj.value.v2='最大宽度';
  1272. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1273. }else if(val=='RECT_ROUND'){
  1274. labelobj.value.v1='全高';
  1275. labelobj.value.v2='顶宽';
  1276. labelobj.value.v3='底部半径';
  1277. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1278. }else if(val=='RECT_ROUND'){
  1279. labelobj.value.v1='全高';
  1280. labelobj.value.v2='顶宽';
  1281. labelobj.value.v3='底部半径';
  1282. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1283. }else if(val=='RECT_TRIANGULAR'){
  1284. labelobj.value.v1='全高';
  1285. labelobj.value.v2='顶宽';
  1286. labelobj.value.v3='三角形高度';
  1287. labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1288. }else if(val=='VERT_ELLIPSE'||val=='HORZI_ELLIPSE'){
  1289. labelobj.value.v1='全高';
  1290. labelobj.value.v2='最大宽度^3';
  1291. labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1292. }
  1293. }
  1294. //选中node节点的一行
  1295. const handleDelete = (val) => {
  1296. currentrow.value = true;
  1297. nodedata.value = val;
  1298. }
  1299. const handleDelete2 = (val) => {
  1300. currentrow1.value = true;
  1301. gddata.value = val;
  1302. gfname.value= gddata.value.gfname;
  1303. bfname.value= gddata.value.bfname;
  1304. }
  1305. //node删除
  1306. const nodedelete = () => {
  1307. console.log(nodedata.value);
  1308. if (JSON.stringify(nodedata.value) == '{}') {
  1309. ElMessage.error("你还没有选中删除的项目")
  1310. } else {
  1311. sdialog.value.dialogsgdelect = true;
  1312. zqname.value = nodedata.value.name;
  1313. }
  1314. }
  1315. const nodedeleteapi = () => {
  1316. const params = {
  1317. transCode: 'D10001',
  1318. nid: nodedata.value.id,
  1319. }
  1320. request(params)
  1321. .then((res) => {
  1322. pipelinedata();
  1323. ElMessage({
  1324. message: '节点删除成功',
  1325. type: 'success',
  1326. })
  1327. })
  1328. .catch((err) => {
  1329. ElMessage.error(err.returnMsg)
  1330. })
  1331. }
  1332. //节点修改
  1333. const accident = () => {
  1334. if (JSON.stringify(nodedata.value) == '{}') {
  1335. ElMessage.error("你还没有选中修改的项目")
  1336. } else {
  1337. zhtext.value = '修改';
  1338. tishi.value= zhtext.value;
  1339. sdialog.value.adddialog = true;
  1340. nodeobj.value.name = nodedata.value.name;
  1341. nodeobj.value.x = nodedata.value.x;
  1342. nodeobj.value.y = nodedata.value.y;
  1343. nodeobj.value.z = nodedata.value.z;
  1344. nodeobj.value.nid = nodedata.value.id;
  1345. nodeobj.value.code = nodedata.value.code;
  1346. }
  1347. }
  1348. //巷道查询
  1349. const guandaodata = () => {
  1350. const params = {
  1351. transCode: 'D00001',
  1352. count: gd.value.pageSize4,
  1353. page: gd.value.currentPage4,
  1354. searchtag: '',
  1355. }
  1356. request(params)
  1357. .then((res) => {
  1358. tableData3.value = res.rows.map(item => {
  1359. return {
  1360. ...item,
  1361. sectionType: statusMap[item.sectionType] || '未知' // 如果状态不存在,默认设置为'未知'
  1362. };
  1363. });
  1364. gd.value.total = res.total;
  1365. })
  1366. .catch((err) => {
  1367. ElMessage.error(err.returnMsg)
  1368. })
  1369. }
  1370. // 节点选中开始结束
  1371. const nodeclick = (val) => {
  1372. console.log(111);
  1373. nodeselect.value.searchtaggd='';
  1374. nodeselect.value.dialogVisiblenode = true;
  1375. nodeselect.value.pipelinedata("");
  1376. sideid.value = val;
  1377. }
  1378. //节点确定的方法
  1379. const queding = (row) => {
  1380. if (sideid.value == 'start') {
  1381. guandaoobj.value.snId = row.id;
  1382. } else {
  1383. guandaoobj.value.enId = row.id;
  1384. }
  1385. }
  1386. // 管道的add
  1387. const guandaoadd = () => {
  1388. sdialog.value.gdadddialog = true;
  1389. zhtext.value = '添加';
  1390. tishi.value='保存';
  1391. currentrow1.value = false;
  1392. guandaoobj.value.code = '';
  1393. guandaoobj.value.pid = '';
  1394. guandaoobj.value.name = '';
  1395. guandaoobj.value.snId = '';
  1396. guandaoobj.value.enId = '';
  1397. guandaoobj.value.roughCoe = 1.0;
  1398. guandaoobj.value.sectionType = 'halfarch_1';
  1399. guandaoobj.value.sectionPara1 = '';
  1400. guandaoobj.value.sectionPara2 = '';
  1401. guandaoobj.value.sectionPara3 = '';
  1402. guandaoobj.value.sectionPara4 = '0.1';
  1403. guandaoobj.value.sectionPara5 = '';
  1404. changejm( guandaoobj.value.sectionType);
  1405. gfname.value="";
  1406. bfname.value="";
  1407. gddata.value={};
  1408. nextTick(()=>{
  1409. gfx.value.files=[];
  1410. inp.value.files=[];
  1411. })
  1412. }
  1413. // 管道增加修改的接口
  1414. const guandaoapi = () => {
  1415. if(guandaoobj.value.snId<guandaoobj.value.enId){
  1416. // console.log(params);
  1417. const params = {
  1418. transCode: 'D10002',
  1419. code: guandaoobj.value.code,
  1420. pid: guandaoobj.value.pid,
  1421. name: guandaoobj.value.name,
  1422. snId: guandaoobj.value.snId,
  1423. enId: guandaoobj.value.enId,
  1424. roughCoe: guandaoobj.value.roughCoe,
  1425. roughCoeName:guandaoobj.value.roughCoeName,
  1426. sectionType: guandaoobj.value.sectionType,
  1427. sectionPara1: guandaoobj.value.sectionPara1,
  1428. sectionPara2: guandaoobj.value.sectionPara2,
  1429. sectionPara3: guandaoobj.value.sectionPara3,
  1430. sectionPara4: guandaoobj.value.sectionPara4,
  1431. sectionPara5: guandaoobj.value.sectionPara5,
  1432. gfid:gfid.value,
  1433. bfid:bfid.value,
  1434. }
  1435. console.log(params);
  1436. request(params)
  1437. .then((res) => {
  1438. sdialog.value.gdadddialog = false;
  1439. ElMessage({
  1440. message: '巷道信息'+tishi.value+'成功',
  1441. type: 'success',
  1442. })
  1443. guandaodata();
  1444. nextTick(()=>{
  1445. gfx.value.clearFiles();
  1446. inp.value.clearFiles();
  1447. })
  1448. })
  1449. .catch((err) => {
  1450. const regex = /字段\d*/g;
  1451. let Msg=err.returnMsg.replace(regex, '');
  1452. ElMessage.error(Msg)
  1453. // sdialog.value.gdadddialog = true;
  1454. // ElMessage.error(err.returnMsg)
  1455. })
  1456. } else{
  1457. // sdialog.value.gdadddialog = true;
  1458. ElMessage.error("结束节点要大于开始节点")
  1459. }
  1460. }
  1461. // 管道删除
  1462. //node删除
  1463. const nodedelete2 = () => {
  1464. console.log(gddata.value);
  1465. if (JSON.stringify(gddata.value) == '{}') {
  1466. ElMessage.error("你还没有选中删除的项目")
  1467. } else {
  1468. sdialog.value.guddialogsgdelect = true;
  1469. zqname.value = gddata.value.name;
  1470. }
  1471. }
  1472. const gddelete = () => {
  1473. const params = {
  1474. transCode: 'D10003',
  1475. pid: gddata.value.id,
  1476. }
  1477. request(params)
  1478. .then((res) => {
  1479. guandaodata();
  1480. ElMessage({
  1481. message: '巷道信息删除成功',
  1482. type: 'success',
  1483. })
  1484. gddata.value={};
  1485. })
  1486. .catch((err) => {
  1487. ElMessage.error(err.returnMsg)
  1488. })
  1489. }
  1490. // 管道修改
  1491. const accident2 = () => {
  1492. if (JSON.stringify(gddata.value) == '{}') {
  1493. ElMessage.error("你还没有选中修改的项目")
  1494. } else {
  1495. zhtext.value = '修改';
  1496. tishi.value=zhtext.value;
  1497. let sectionType=gddata.value.sectionType;
  1498. sdialog.value.gdadddialog = true;
  1499. guandaoobj.value.code = gddata.value.code;
  1500. guandaoobj.value.pid = gddata.value.id;
  1501. guandaoobj.value.name = gddata.value.name;
  1502. guandaoobj.value.snId = gddata.value.snId;
  1503. guandaoobj.value.enId = gddata.value.enId;
  1504. guandaoobj.value.roughCoe = gddata.value.roughCoe;
  1505. zuli.value.zidiny=gddata.value.roughCoe;
  1506. guandaoobj.value.roughCoeName = gddata.value.roughCoeName;
  1507. guandaoobj.value.sectionType = gddata.value.sectionType;
  1508. guandaoobj.value.sectionPara1 = gddata.value.sectionPara1;
  1509. guandaoobj.value.sectionPara2 = gddata.value.sectionPara2;
  1510. guandaoobj.value.sectionPara3 = gddata.value.sectionPara3;
  1511. guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1512. guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
  1513. switch (sectionType) {
  1514. case '圆形':
  1515. guandaoobj.value.sectionType='CIRCULAR'
  1516. break;
  1517. case "矩形":
  1518. guandaoobj.value.sectionType='RECTANGLE'
  1519. break;
  1520. case '半椭圆形':
  1521. guandaoobj.value.sectionType='SEMICIRCULAR'
  1522. break;
  1523. case '半圆形':
  1524. guandaoobj.value.sectionType='SEMIELLIPTICAL'
  1525. break;
  1526. case '蛋形':
  1527. guandaoobj.value.sectionType='EGG'
  1528. break;
  1529. case "哥特形":
  1530. guandaoobj.value.sectionType='GOTHIC'
  1531. break;
  1532. case '更正蓝形':
  1533. guandaoobj.value.sectionType='MODBASKETHANDLE'
  1534. break;
  1535. case '拱形':
  1536. guandaoobj.value.sectionType='ARCH'
  1537. break;
  1538. case "弧底矩形":
  1539. guandaoobj.value.sectionType='RECT_ROUND'
  1540. break;
  1541. case '蓝形':
  1542. guandaoobj.value.sectionType='BASKETHANDLE'
  1543. break;
  1544. case '马蹄形':
  1545. guandaoobj.value.sectionType='HORSESHOE'
  1546. break;
  1547. case "三角底矩形":
  1548. guandaoobj.value.sectionType='RECT_TRIANGULAR'
  1549. break;
  1550. case '竖向椭圆':
  1551. guandaoobj.value.sectionType='VERT_ELLIPSE'
  1552. break;
  1553. case '水平椭圆':
  1554. guandaoobj.value.sectionType='HORZI_ELLIPSE'
  1555. break;
  1556. case '悬链式':
  1557. guandaoobj.value.sectionType='CATENARY'
  1558. break;
  1559. }
  1560. changejm(guandaoobj.value.sectionType);
  1561. // guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1562. // guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
  1563. Gassaddgfid( gddata.value.gfid);
  1564. Gassaddbfid( gddata.value.bfid);
  1565. nextTick(()=>{
  1566. gfx.value.files=[];
  1567. inp.value.files=[];
  1568. })
  1569. }
  1570. }
  1571. // //文件上传的方法
  1572. const handfiles = (file) => {
  1573. files.value = "";
  1574. files.value = file;
  1575. }
  1576. const Gassaddgfid=(gf)=>{
  1577. gfid.value=gf;
  1578. }
  1579. const Gassaddbfid=( bf)=>{
  1580. bfid.value=bf;
  1581. console.log(11222)
  1582. }
  1583. // 清空文件
  1584. const clearFiles=()=>{
  1585. console.log(1111888881)
  1586. // inp.upload.clearFiles();
  1587. // gfx.upload.clearFiles();
  1588. }
  1589. //判断文件是否上传
  1590. const fileboolen=(val)=>{
  1591. let msg=gfx.value.msg;
  1592. let msg2=inp.value.msg;
  1593. console.log(msg2);
  1594. if(msg=="上传中"||msg2=="上传中"){
  1595. ElMessage.error("上传中不能关闭");
  1596. }else{
  1597. if(val=='cancel'){
  1598. sdialog.value.gdadddialog=false;
  1599. }else{
  1600. }
  1601. // sdialog.value.gdadddialog=false;
  1602. if(val=='confirm'&&msg=="已上传"||val=='confirm'&&msg2=="已上传"||val=='confirm'&&msg==undefined||val=='confirm'&&msg2==undefined){
  1603. //sdialog.value.gdadddialog=false;
  1604. if(guandaoobj.value.code==''){
  1605. ElMessage.error("编号不能为空");
  1606. }else if(guandaoobj.value.name==''){
  1607. ElMessage.error("名称不能为空");
  1608. }
  1609. else{
  1610. guandaoapi();
  1611. }
  1612. }
  1613. // guandaoapi();
  1614. }
  1615. }
  1616. // input 点击事件
  1617. const handleChange=(val)=>{
  1618. //resourcechange();
  1619. jsuanval.value=val;
  1620. if(zairadio.value=='0'){
  1621. if(zulitext.value=='圆木棚式支护'){
  1622. logcompute();
  1623. }else if(zulitext.value=='工字梁拱形和梯形支护'){
  1624. gzicompute();
  1625. }else if(zulitext.value=='金属梁与柱支护'){
  1626. metalcompute();
  1627. }else{
  1628. falsecalculatefun();
  1629. }
  1630. }else{
  1631. addzhangai();
  1632. }
  1633. }
  1634. // 阻碍
  1635. const zaihandleChange=(val)=>{
  1636. zuaival.value=val;
  1637. addzhangai();
  1638. }
  1639. // 选中计算
  1640. const resourcechange=(val)=>{
  1641. resource.value=val;
  1642. switch(resource.value){
  1643. case '0':
  1644. jsuanval.value=jisuanobj.value.val1;
  1645. break;
  1646. case '1':
  1647. jsuanval.value=jisuanobj.value.val2;
  1648. break;
  1649. case '2':
  1650. jsuanval.value=jisuanobj.value.val3;
  1651. break;
  1652. case '3':
  1653. jsuanval.value=jisuanobj.value.val4;
  1654. break;
  1655. }
  1656. if(zairadio.value=='0'){
  1657. falsecalculatefun();
  1658. }else{
  1659. calculatefun();
  1660. }
  1661. }
  1662. // 砌碹巷道
  1663. const resourcechange2=(val)=>{
  1664. resource.value=val;
  1665. switch(resource.value){
  1666. case '0':
  1667. jsuanval.value=qxmobj.value.val1;
  1668. break;
  1669. case '1':
  1670. jsuanval.value=qxmobj.value.val2;
  1671. break;
  1672. case '2':
  1673. jsuanval.value=qxmobj.value.val3;
  1674. break;
  1675. case '3':
  1676. jsuanval.value=qxmobj.value.val4;
  1677. break;
  1678. case '4':
  1679. jsuanval.value=qxmobj.value.val5;
  1680. break;
  1681. }
  1682. if(zairadio.value=='0'){
  1683. falsecalculatefun();
  1684. }else{
  1685. calculatefun();
  1686. }
  1687. }
  1688. // 障碍物
  1689. const zaireschange=(val)=>{
  1690. zaires.value=val;
  1691. switch(zaires.value){
  1692. case '0':
  1693. zuaival.value=zaiobj.value.val1;
  1694. break;
  1695. case '1':
  1696. zuaival.value=zaiobj.value.val2;
  1697. break;
  1698. case '2':
  1699. zuaival.value=zaiobj.value.val3;
  1700. break;
  1701. }
  1702. addzhangai();
  1703. }
  1704. // 障碍为否是
  1705. // 计算
  1706. const falsecalculatefun=()=>{
  1707. let zonghe= parseFloat( jsuanval.value);
  1708. console.log(zonghe);
  1709. console.log(44567788);
  1710. zuli.value.jsuan=zonghe/ 10000;
  1711. }
  1712. // 计算
  1713. const calculatefun=()=>{
  1714. let zonghe= parseFloat( jsuanval.value)+parseFloat( zuaival.value);
  1715. console.log(zonghe);
  1716. zuli.value.jsuan=(zonghe/ 10000).toFixed(6);
  1717. }
  1718. // 清空
  1719. const zairadiochage1=()=>{
  1720. console.log(radio1.value);
  1721. if(radio1.value=="0"){
  1722. zuli.value.jsuan=null;
  1723. jsuanval.value=0;
  1724. zuli.value.zidiny=guandaoobj.value.roughCoe;
  1725. }else if(radio1.value=="1"&&zairadio.value=='1'){
  1726. zuli.value.zidiny=null;
  1727. addzhangai();
  1728. }else if(zairadio.value=='0'){
  1729. if(zulitext.value=='毛壁面'||zulitext.value=='砌碹面'||zulitext.value=='其它支护'||zulitext.value=='工作面'){
  1730. falsecalculatefun();
  1731. }else if(zulitext.value=='圆木棚式支护'){
  1732. logcompute();
  1733. }else if(zulitext.value=='工字梁拱形和梯形支护'){
  1734. gzicompute();
  1735. }else if(zulitext.value=='金属梁与柱支护'){
  1736. metalcompute();
  1737. }
  1738. } else{
  1739. // calculatefun();
  1740. }
  1741. }
  1742. const maoqueding=()=>{
  1743. if(radio1.value=='0'){
  1744. guandaoobj.value.roughCoe=zuli.value.zidiny;
  1745. }else if(radio1.value=='1'){
  1746. guandaoobj.value.roughCoe=zuli.value.jsuan;
  1747. }
  1748. ElMessage({
  1749. message:'系数保存成功',
  1750. type: 'success',
  1751. })
  1752. sdialog.value.resistance = false;
  1753. }
  1754. const seltree=(data)=>{
  1755. let val=data.value;
  1756. zairadiochage1();
  1757. radio1.value='0';
  1758. zuli.value.jsuan='';
  1759. zuli.value.zidiny= guandaoobj.value.roughCoe;
  1760. if(val=='毛壁面'){
  1761. jsuanval.value=jisuanobj.value.val1;
  1762. zulitext.value='毛壁面'
  1763. sdialog.value.resistance=true;
  1764. // calculatefun();
  1765. }else if(val=='砌碹面'){
  1766. jsuanval.value=qxmobj.value.val1;
  1767. zulitext.value='砌碹面'
  1768. sdialog.value.resistance=true;
  1769. // calculatefun();
  1770. }else if(val=='圆木棚式支护'){
  1771. zulitext.value='圆木棚式支护'
  1772. sdialog.value.resistance=true;
  1773. }else if(val=='工字梁拱形和梯形支护'){
  1774. zulitext.value='工字梁拱形和梯形支护'
  1775. sdialog.value.resistance=true;
  1776. }else if(val=='金属梁与柱支护'){
  1777. zulitext.value='金属梁与柱支护'
  1778. sdialog.value.resistance=true;
  1779. }
  1780. else if(val=='其它支护'){
  1781. jsuanval.value=qtzhobj.value.val1;
  1782. zulitext.value='其它支护'
  1783. sdialog.value.resistance=true;
  1784. }else if(val=='工作面'){
  1785. zulitext.value='工作面'
  1786. sdialog.value.resistance=true;
  1787. }else{
  1788. }
  1789. }
  1790. //判断当前是否加障碍物
  1791. const addzhangai=()=>{
  1792. let zuaival1=zuaival.value/10000;
  1793. if(zulitext.value=='圆木棚式支护'){
  1794. logcompute();
  1795. zuli.value.jsuan= (Number(zuli.value.jsuan)+ zuaival1).toFixed(6);
  1796. } else if(zulitext.value=='工字梁拱形和梯形支护'){
  1797. gzicompute();
  1798. zuli.value.jsuan= (Number(zuli.value.jsuan)+zuaival1).toFixed(6);
  1799. }else if(zulitext.value=='金属梁与柱支护'){
  1800. metalcompute ();
  1801. zuli.value.jsuan= (Number(zuli.value.jsuan)+ zuaival1).toFixed(6);
  1802. }else{
  1803. calculatefun();
  1804. }
  1805. }
  1806. // 圆木棚式支护的计算
  1807. const logcompute=()=>{
  1808. let ldC= (ympszh.value.val1)/(ympszh.value.val2);
  1809. let LD=Math.pow(ldC,2)
  1810. let lDhe=-5.21994*LD;//第一个
  1811. let d2=0.0136272*Math.pow((ympszh.value.val2),2);
  1812. let ldji=0.124129*(ldC*ympszh.value.val2);//第三个
  1813. let d4=5.21133*ldC+1.89758*ympszh.value.val2;
  1814. let a1=lDhe+d2+ldji+d4-0.42746;
  1815. let a2=(0.00605857*Math.pow((ympszh.value.val3),2)+0.1104174*ympszh.value.val3+1.29266783);
  1816. let a=0.0001*(a1*a2);
  1817. zuli.value.jsuan=(a).toFixed(6);
  1818. }
  1819. // 工字梁拱形和梯形支护的计算
  1820. const gzicompute=()=>{
  1821. let ldC= (gzlg.value.val1)/(gzlg.value.val2);
  1822. let LD=Math.pow(ldC,2)
  1823. let lDhe=-4.65195*LD;//第一个
  1824. let d2=0.209286*Math.pow((gzlg.value.val2),2);
  1825. let ldji=3.01*(ldC*gzlg.value.val2);//第三个
  1826. let d4=39.13845*ldC-4.21*gzlg.value.val2;
  1827. let a1=lDhe+d2+ldji+d4+4.006596;
  1828. let a2=(0.00470063*Math.pow((gzlg.value.val3),2)-0.09314235*gzlg.value.val3+1.307954);
  1829. let a=0.0001*(a1*a2);
  1830. zuli.value.jsuan=(a).toFixed(6);
  1831. }
  1832. // 金属梁与柱支护的计算
  1833. const metalcompute=()=>{
  1834. let ldC= (jsl.value.val1)/(jsl.value.val2);
  1835. let LD=Math.pow(ldC,2)
  1836. let lDhe=-1.05*LD;//第一个
  1837. let d2=41.9947*Math.pow((jsl.value.val2),2);
  1838. let ldji=0.49*(ldC*jsl.value.val2);//第三个
  1839. let d4=8.4*ldC-3779.52543*jsl.value.val2;
  1840. let a1=lDhe+d2+ldji+d4-83884.594;
  1841. let a2=(0.00470063*Math.pow((jsl.value.val3),2)-0.09314235*jsl.value.val3+1.307954);
  1842. let a=0.0001*(a1*a2);
  1843. zuli.value.jsuan=(a).toFixed(6);
  1844. }
  1845. //其它支护的计算
  1846. const qtzhobjchange=(val)=>{
  1847. if(val=='0'){
  1848. jsuanval.value=qtzhobj.value.val1;
  1849. }else if(val=='1'){
  1850. jsuanval.value=qtzhobj.value.val2;
  1851. }
  1852. let zonghe= parseFloat( jsuanval.value);
  1853. zuli.value.jsuan=zonghe/ 10000;
  1854. console.log(zairadio.value);
  1855. if(zairadio.value=='0'){
  1856. falsecalculatefun();
  1857. }else{
  1858. calculatefun();
  1859. }
  1860. }
  1861. //工作面
  1862. const handleRadioChange=(val)=>{
  1863. jsuanval.value=0;
  1864. if(val=='0'){
  1865. gzmobj1.value.gzm=null;
  1866. gzmobj2.value.gzm=null;
  1867. console.log( jsuanval.value);
  1868. }else if(val=='1'){
  1869. gzmobj.value.gzm=null;
  1870. gzmobj2.value.gzm=null;
  1871. }else if(val=='2'){
  1872. gzmobj.value.gzm=null;
  1873. gzmobj1.value.gzm=null;
  1874. }
  1875. if(zairadio.value=='0'){
  1876. falsecalculatefun();
  1877. }else{
  1878. calculatefun();
  1879. }
  1880. }
  1881. //gzchange
  1882. const gzchange=(val)=>{
  1883. if(val=='1'){
  1884. jsuanval.value=(gzmobj.value.val1).toFixed(6);
  1885. }else if(val=='2'){
  1886. jsuanval.value=(gzmobj.value.val2).toFixed(6);
  1887. }else if(val=='3'){
  1888. jsuanval.value=(gzmobj1.value.val1).toFixed(6);
  1889. }else if(val=='4'){
  1890. jsuanval.value=(gzmobj1.value.val2).toFixed(6);
  1891. }else if(val=='5'){
  1892. jsuanval.value=(gzmobj2.value.val1).toFixed(6);
  1893. }else if(val=='6'){
  1894. jsuanval.value=(gzmobj2.value.val2).toFixed(6);
  1895. }else if(val=='7'){
  1896. jsuanval.value=(gzmobj2.value.val3).toFixed(6);
  1897. }
  1898. if(zairadio.value=='0'){
  1899. falsecalculatefun();
  1900. }else{
  1901. calculatefun();
  1902. }
  1903. }
  1904. defineExpose({ dialogVisible, });
  1905. </script>
  1906. <style scoped>
  1907. .maopading .jisuan1 .el-input-number{
  1908. width: 40%;
  1909. }
  1910. .maoconent{
  1911. }
  1912. </style>