MenuMine.vue 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109
  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 { message } from '@/utils/message';
  783. import { ArrowDown, ArrowUp,Crop, Minus, Plus,ArrowRight,ArrowLeft } from '@element-plus/icons-vue'
  784. import zhCn from 'element-plus/es/locale/lang/zh-cn'
  785. import icon from "@/assets/img/icon.png";
  786. import g from "@/assets/img/g.jpg";
  787. import j from "@/assets/img/j2.png";
  788. import y from "@/assets/img/y2.png";
  789. import m1 from "@/assets/img/m1.png";
  790. import m2 from "@/assets/img/m2.png";
  791. import m3 from "@/assets/img/m3.png";
  792. import m4 from "@/assets/img/m4.png";
  793. import m5 from "@/assets/img/m5.png";
  794. import m6 from "@/assets/img/m6.png";
  795. import m7 from "@/assets/img/m7.png";
  796. import m8 from "@/assets/img/m8.png";
  797. import m9 from "@/assets/img/m9.png";
  798. import m10 from "@/assets/img/m10.png";
  799. import m11 from "@/assets/img/m11.png";
  800. import m12 from "@/assets/img/m12.png";
  801. import m13 from "@/assets/img/m13.png";
  802. import js from "@/assets/img/js.png";
  803. import js2 from "@/assets/img/js2.png";
  804. import js3 from "@/assets/img/js3.png";
  805. import { timestampToTime } from '@/js/lindex.js';
  806. import NodeSelect from "./NodeLine.vue";
  807. import vueUploader from "./fileuploads.vue";
  808. // import Menufile from "./MenuFile.vue"
  809. // import upFile from "./upfile.vue";
  810. //
  811. // let labelobj=ref(
  812. // {v1:"截面信息1"},
  813. // {v2:"截面信息2",isshow:true},
  814. // {v3:"截面信息3",},
  815. // {v4:"截面信息4"},
  816. // {v5:"截面信息5",isshow:false},
  817. // // {v3:"截面信息3", v4:"截面信息4", v5:"截面信息5",show:true}
  818. // )
  819. // let labelobj=ref(
  820. // {v1:"截面信息1"},
  821. // {v2:"截面信息2"},
  822. // {v3:"截面信息3"},
  823. // {v4:"截面信息4"},
  824. // {v5:"截面信息5"},
  825. // )
  826. let labelobj=ref({v1:"截面信息1",v2:"截面信息2",v3:"截面信息3", v4:"截面信息4", v5:"截面信息5"})
  827. let labelobj2=ref(
  828. {isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  829. )
  830. let zuli=ref({
  831. zidiny:'',
  832. jsuan:''
  833. })
  834. let jsuanval=ref(58.8);
  835. let zuaival=ref(147.0);
  836. let jisuanobj=ref({
  837. val1:58.8,
  838. val2:68.6,
  839. val3:78.4,
  840. val4:58.8,
  841. })
  842. let qxmradio=ref("0");
  843. let qxmobj=ref({
  844. val1:29.4,
  845. val2:49,
  846. val3:24.5,
  847. val4:29.4,
  848. val5:39.2,
  849. })
  850. let qtzhobj=ref({
  851. val1:88.2,
  852. val2:78.4,
  853. })
  854. let ympszh=ref({
  855. val1:29.4,
  856. val2:49.0,
  857. val3:49.0,
  858. })
  859. let gzlg=ref({
  860. val1:29.4,
  861. val2:49.0,
  862. val3:49.0,
  863. })
  864. let jsl=ref({
  865. val1:29.4,
  866. val2:49.0,
  867. val3:49.0,
  868. })
  869. let zairadio=ref('1');
  870. let zaires=ref("0")
  871. let zaiobj=ref({
  872. val1:147,
  873. val2:98,
  874. val3:29.4,
  875. })
  876. let gzmobj=ref({
  877. gzm:0,
  878. val1:98.0,
  879. val2:47.7
  880. })
  881. let gzmobj1=ref({
  882. gzm:0,
  883. val1:98.0,
  884. val2:47.7
  885. })
  886. let gzmobj2=ref({
  887. gzm:0,
  888. val1:98.0,
  889. val2:47.7,
  890. val3:47.7
  891. })
  892. let faterradio=ref("0")
  893. // 文件上传参数
  894. const radio1 = ref('0');
  895. const gfx=ref();
  896. const inp=ref();
  897. let gid=ref("");
  898. let wsid=ref("");
  899. let gfid=ref("");
  900. let bfid=ref("");
  901. let gfname=ref("");
  902. let bfname=ref("");
  903. let resource=ref('0')
  904. let qitaval=ref('0')
  905. let num=ref();
  906. const value = ref()
  907. const dataselct = ref([
  908. {
  909. value: '毛壁面',
  910. label: '毛壁面',
  911. },
  912. {
  913. value: '砌碹面',
  914. label: '砌碹面',
  915. },
  916. {
  917. value: '支护面',
  918. label: '支护面',
  919. children: [
  920. {
  921. value: '圆木棚式支护',
  922. label: '圆木棚式支护',
  923. },
  924. {
  925. value: '工字梁拱形和梯形支护',
  926. label: '工字梁拱形和梯形支护',
  927. },
  928. {
  929. value: '金属梁与柱支护',
  930. label: '金属梁与柱支护',
  931. },
  932. {
  933. value: '其它支护',
  934. label: '其它支护',
  935. },
  936. ],
  937. },
  938. {
  939. value: '工作面',
  940. label: '工作面',
  941. },
  942. ])
  943. let zulitext=ref();
  944. let tishi=ref('');
  945. let nodeselect = ref();
  946. let dialogVisible = ref(false);
  947. let tableData2 = ref([]);
  948. let classradio1 = ref('Fire');
  949. let coolactiveName1 = ref(["1"]);
  950. let formLabelWidth6 = ref(70);
  951. let formLabelWidth7 = ref(100)
  952. const resultactiveName = ref("first");
  953. let tableHeight = ref(280);
  954. let total = ref(1);
  955. let searchtag = ref("");
  956. // const statusMap = {
  957. // 'CIRCULAR': '圆形',
  958. // 'RECTANGLE': '矩形',
  959. // 'SEMICIRCULAR': '半椭圆形',
  960. // 'SEMIELLIPTICAL': '半圆形',
  961. // 'EGG': '蛋形',
  962. // 'GOTHIC': '哥特形',
  963. // 'MODBASKETHANDLE': '更正蓝形',
  964. // 'ARCH': '拱形',
  965. // 'RECT_ROUND': '弧底矩形',
  966. // 'BASKETHANDLE': '蓝形',
  967. // 'HORSESHOE': '马蹄形',
  968. // 'RECT_TRIANGULAR': '三角底矩形',
  969. // 'VERT_ELLIPSE': '竖向椭圆',
  970. // 'HORZI_ELLIPSE': '水平椭圆',
  971. // 'CATENARY': '悬链式',
  972. // };
  973. const statusMap = {
  974. 'halfarch_1': '1-1断面',
  975. 'halfarch_2': '2-2断面',
  976. 'halfarch_3': '3-3断面',
  977. 'halfarch_4': '4-4断面',
  978. 'halfarch_5': '5-5断面',
  979. 'halfarch_6': '6-6断面',
  980. 'halfarch_7': '7-7断面',
  981. 'halfarch_8': '8-8断面',
  982. 'section9': '9-9断面',
  983. 'section10': '10-10断面',
  984. 'halfarch_11': '11-11断面',
  985. 'halfarch_12': '12-12断面',
  986. 'halfarch_13': '13-13断面',
  987. 'halfarch_14': '14-14断面',
  988. 'halfarch_15': '15-15断面',
  989. 'halfarch_16': '16-16断面',
  990. 'halfarch_17': '17-17断面',
  991. 'halfarch_18': '18-18断面',
  992. 'halfarch_19': '19-19断面',
  993. 'halfarch_20': '20-20断面',
  994. };
  995. let options2 = ref([
  996. {
  997. label: '1-1断面', value: "halfarch_1"
  998. },
  999. {
  1000. label: '2-2断面', value: "halfarch_2"
  1001. },
  1002. {
  1003. label: '3-3断面', value: "halfarch_3"
  1004. },
  1005. {
  1006. label: '4-4断面', value: "halfarch_4"
  1007. },
  1008. {
  1009. label: '5-5断面', value: "halfarch_5"
  1010. },
  1011. {
  1012. label: '6-6断面', value: "halfarch_6"
  1013. },
  1014. {
  1015. label: '7-7断面', value: "halfarch_7"
  1016. },
  1017. {
  1018. label: '8-8断面', value: "halfarch_8"
  1019. },
  1020. {
  1021. label: '9-9断面', value: "section9"
  1022. },
  1023. {
  1024. label: '10-10断面', value: "section10"
  1025. },
  1026. {
  1027. label: '11-11断面', value: "halfarch_11"
  1028. },
  1029. {
  1030. label: '12-12断面', value: "halfarch_12"
  1031. },
  1032. {
  1033. label: '13-13断面', value: "halfarch_13"
  1034. },
  1035. {
  1036. label: '14-14断面', value: "halfarch_14"
  1037. },
  1038. {
  1039. label: '15-15断面', value: "halfarch_15"
  1040. },
  1041. {
  1042. label: '16-16断面', value: "halfarch_16"
  1043. },
  1044. {
  1045. label: '17-17断面', value: "halfarch_17"
  1046. },
  1047. {
  1048. label: '18-18断面', value: "halfarch_18"
  1049. },{
  1050. label: '19-19断面', value: "halfarch_19"
  1051. },
  1052. {
  1053. label: '20-20断面', value: "halfarch_20"
  1054. },
  1055. ])
  1056. let options = ref([
  1057. {
  1058. label: '圆形', value: "CIRCULAR",image:y
  1059. },
  1060. {
  1061. label: '矩形', value: "RECTANGLE",image:j
  1062. },
  1063. {
  1064. label: '半椭圆形', value: "SEMICIRCULAR",image:m1
  1065. },
  1066. {
  1067. label: '半圆形', value: "SEMIELLIPTICAL",image:m2
  1068. },
  1069. {
  1070. label: '蛋形', value: "EGG",image:m3
  1071. },
  1072. {
  1073. label: '哥特形', value: "GOTHIC",image:m4
  1074. },
  1075. {
  1076. label: '更正蓝形', value: "MODBASKETHANDLE",image:m5
  1077. },
  1078. {
  1079. label: '拱形', value: "ARCH",image:m6
  1080. },
  1081. {
  1082. label: '弧底矩形', value: "RECT_ROUND",image:m7
  1083. },
  1084. {
  1085. label: '蓝形', value: "BASKETHANDLE",image:m8
  1086. },
  1087. {
  1088. label: '马蹄形', value: "HORSESHOE",image:m9
  1089. },
  1090. {
  1091. label: '三角底矩形', value: "RECT_TRIANGULAR",image:m10
  1092. },
  1093. {
  1094. label: '竖向椭圆', value: "VERT_ELLIPSE",image:m11
  1095. },
  1096. {
  1097. label: '水平椭圆', value: "HORZI_ELLIPSE",image:m12
  1098. },
  1099. {
  1100. label: '悬链式', value: "CATENARY",image:m13
  1101. },
  1102. ])
  1103. const currentPage4 = ref(1);
  1104. const pageSize4 = ref(4)
  1105. let currentrow = ref(false);
  1106. let currentrow1 = ref(false);
  1107. let sdialog = ref({
  1108. adddialog: false,
  1109. dialogsgdelect: false,
  1110. gdadddialog: false,
  1111. guddialogsgdelect: false,
  1112. resistance:false,
  1113. })
  1114. let sideid = ref("");
  1115. let tableData3 = ref();
  1116. let zqname = ref("");
  1117. let zhtext = ref("添加");
  1118. let nodedata = ref({});
  1119. let gddata = ref({});
  1120. let nodeobj = ref({
  1121. name: "",
  1122. x: "",
  1123. y: "",
  1124. z: "",
  1125. code:'',
  1126. })
  1127. let guandaoobj = ref({
  1128. pid: '',
  1129. name: '',
  1130. snId: Number,
  1131. enId:Number ,
  1132. roughCoe: '',
  1133. roughCoeName:'毛壁面',
  1134. sectionType: 'halfarch_1',
  1135. sectionPara1: '',
  1136. sectionPara2: '',
  1137. sectionPara3: '',
  1138. sectionPara4: 0.1,
  1139. sectionPara5: '',
  1140. code:'',
  1141. })
  1142. let gd = ref({
  1143. total: 1,
  1144. currentPage4: 1,
  1145. pageSize4: 5,
  1146. })
  1147. const tableRowClassName = ({ row, rowIndex }) => {
  1148. if (rowIndex % 2 != 0) {
  1149. return 'evenRow';
  1150. }
  1151. return 'oddRow';
  1152. }
  1153. onMounted(() => {
  1154. pipelinedata()
  1155. })
  1156. // tab选项事件
  1157. const handleClick = (Tab, val) => {
  1158. switch (Tab.props.name) {
  1159. case 'first':
  1160. pipelinedata()
  1161. break;
  1162. case "second":
  1163. guandaodata();
  1164. break;
  1165. case 'third':
  1166. break;
  1167. case 'thirds':
  1168. break;
  1169. }
  1170. }
  1171. // 节点分页查询
  1172. const handleCurrentChange = (val) => {
  1173. pipelinedata();
  1174. }
  1175. // 管道分页查询
  1176. const handleCurrentChange2 = (val) => {
  1177. guandaodata();
  1178. }
  1179. //节点数据查询
  1180. const pipelinedata = () => {
  1181. const params = {
  1182. transCode: 'D00000',
  1183. count: pageSize4.value,
  1184. page: currentPage4.value,
  1185. searchtag: searchtag.value,
  1186. }
  1187. request(params)
  1188. .then((res) => {
  1189. tableData2.value = res.rows;
  1190. total.value = res.total;
  1191. nodedata.value={}
  1192. })
  1193. .catch((err) => {
  1194. message.error(err.returnMsg)
  1195. })
  1196. }
  1197. //节点的添加
  1198. const addsg = () => {
  1199. zhtext.value = '添加';
  1200. currentrow.value = false;
  1201. sdialog.value.adddialog = true;
  1202. nodeobj.value.name = "";
  1203. nodeobj.value.x = "";
  1204. nodeobj.value.y = "";
  1205. nodeobj.value.z = "";
  1206. nodeobj.value.nid = '';
  1207. nodeobj.value.code = '';
  1208. nodedata.value={};
  1209. tishi.value='保存';
  1210. }
  1211. //节点添加api
  1212. const nodeconfirm = () => {
  1213. if(nodeobj.value.name==null||nodeobj.value.name==''){
  1214. message.error('名称不能为空')
  1215. }else if(nodeobj.value.code==null||nodeobj.value.code==''){
  1216. message.error('编号不能为空')
  1217. }else if(nodeobj.value.x==null||nodeobj.value.x==''){
  1218. message.error('X不能为空')
  1219. }else if(nodeobj.value.y==null||nodeobj.value.y==''){
  1220. message.error('Y不能为空')
  1221. }else if(nodeobj.value.z==null||nodeobj.value.z==''){
  1222. message.error("Z不能为空")
  1223. } else if(nodeobj.value.name!=''&&nodeobj.value.x!=''&&nodeobj.value.y!=''&&nodeobj.value.z!=''){
  1224. const params = {
  1225. transCode: 'D10000',
  1226. nid: nodeobj.value.nid,
  1227. name: nodeobj.value.name,
  1228. x: nodeobj.value.x,
  1229. y: nodeobj.value.y,
  1230. z: nodeobj.value.z,
  1231. code: nodeobj.value.code,
  1232. desc: "",
  1233. ntype: "mid",
  1234. }
  1235. request(params)
  1236. .then((res) => {
  1237. sdialog.value.adddialog = false;
  1238. pipelinedata();
  1239. message.success({
  1240. message: '节点'+tishi.value+'成功',
  1241. })
  1242. })
  1243. .catch((err) => {
  1244. message.error(err.returnMsg)
  1245. })
  1246. }else{
  1247. message.error("不能为空")
  1248. }
  1249. }
  1250. // 界面
  1251. const changejm=(val)=>{
  1252. console.log(val);
  1253. if(val=='halfarch_1'){
  1254. guandaoobj.value.sectionPara1='3.7';
  1255. guandaoobj.value.sectionPara2='5.0';
  1256. guandaoobj.value.sectionPara3='2.5';
  1257. }else if(val=='halfarch_2'){
  1258. guandaoobj.value.sectionPara1='3.7';
  1259. guandaoobj.value.sectionPara2='5.0';
  1260. guandaoobj.value.sectionPara3='2.5';
  1261. }else if(val=='halfarch_3'){
  1262. guandaoobj.value.sectionPara1='3.75';
  1263. guandaoobj.value.sectionPara2='4.5';
  1264. guandaoobj.value.sectionPara3='2.25';
  1265. }else if(val=='halfarch_4'){
  1266. guandaoobj.value.sectionPara1='3.25';
  1267. guandaoobj.value.sectionPara2='3.5';
  1268. guandaoobj.value.sectionPara3='1.75';
  1269. }else if(val=='halfarch_5'){
  1270. guandaoobj.value.sectionPara1='4.5';
  1271. guandaoobj.value.sectionPara2='5.7';
  1272. guandaoobj.value.sectionPara3='2.85';
  1273. }else if(val=='halfarch_6'){
  1274. guandaoobj.value.sectionPara1='3.0';
  1275. guandaoobj.value.sectionPara2='3.0';
  1276. guandaoobj.value.sectionPara3='1.5';
  1277. }else if(val=='halfarch_7'){
  1278. guandaoobj.value.sectionPara1='3.2';
  1279. guandaoobj.value.sectionPara2='3.8';
  1280. guandaoobj.value.sectionPara3='1.9';
  1281. }else if(val=='halfarch_8'){
  1282. guandaoobj.value.sectionPara1='2.75';
  1283. guandaoobj.value.sectionPara2='3.5';
  1284. guandaoobj.value.sectionPara3='1.75';
  1285. }else if(val=='section9'){
  1286. guandaoobj.value.sectionPara1='4.663';
  1287. guandaoobj.value.sectionPara2='4.0';
  1288. guandaoobj.value.sectionPara3='3.35';
  1289. }else if(val=='section10'){
  1290. guandaoobj.value.sectionPara1='4.262';
  1291. guandaoobj.value.sectionPara2='4.0';
  1292. guandaoobj.value.sectionPara3='3.35';
  1293. }else if(val=='halfarch_11'){
  1294. guandaoobj.value.sectionPara1='2.75';
  1295. guandaoobj.value.sectionPara2='3.5';
  1296. guandaoobj.value.sectionPara3='1.75';
  1297. }else if(val=='halfarch_12'){
  1298. guandaoobj.value.sectionPara1='3.7';
  1299. guandaoobj.value.sectionPara2='4.8';
  1300. guandaoobj.value.sectionPara3='2.4';
  1301. }else if(val=='halfarch_13'){
  1302. guandaoobj.value.sectionPara1='3.2';
  1303. guandaoobj.value.sectionPara2='3.8';
  1304. guandaoobj.value.sectionPara3='1.9';
  1305. }else if(val=='halfarch_14'){
  1306. guandaoobj.value.sectionPara1='4.0';
  1307. guandaoobj.value.sectionPara2='4.6';
  1308. guandaoobj.value.sectionPara3='2.3';
  1309. }else if(val=='halfarch_15'){
  1310. guandaoobj.value.sectionPara1='4.5';
  1311. guandaoobj.value.sectionPara2='5.0';
  1312. guandaoobj.value.sectionPara3='2.5';
  1313. }else if(val=='halfarch_16'){
  1314. guandaoobj.value.sectionPara1='3.5';
  1315. guandaoobj.value.sectionPara2='4.5';
  1316. guandaoobj.value.sectionPara3='2.25';
  1317. }else if(val=='halfarch_17'){
  1318. guandaoobj.value.sectionPara1='3.3';
  1319. guandaoobj.value.sectionPara2='4.0';
  1320. guandaoobj.value.sectionPara3='2.0';
  1321. }else if(val=='halfarch_18'){
  1322. guandaoobj.value.sectionPara1='4.0';
  1323. guandaoobj.value.sectionPara2='4.6';
  1324. guandaoobj.value.sectionPara3='2.3';
  1325. }else if(val=='halfarch_19'){
  1326. guandaoobj.value.sectionPara1='4.0';
  1327. guandaoobj.value.sectionPara2='4.6';
  1328. guandaoobj.value.sectionPara3='2.3';
  1329. }else if(val=='halfarch_20'){
  1330. guandaoobj.value.sectionPara1='3.3';
  1331. guandaoobj.value.sectionPara2='4.0';
  1332. guandaoobj.value.sectionPara3='2.0';
  1333. }
  1334. }
  1335. // const changejm=(val)=>{
  1336. // console.log(val);
  1337. // if(val=='CIRCULAR'){
  1338. // labelobj.value.v1='直径';
  1339. // labelobj2.value={isshow1:false,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1340. // }else if(val=='RECTANGLE'){
  1341. // labelobj.value.v1='全高';
  1342. // labelobj.value.v2='顶宽';
  1343. // labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1344. // }else if(val=='SEMICIRCULAR'||val=='BASKETHANDLE'||val=='HORSESHOE'||val=='CATENARY'||val=='SEMIELLIPTICAL'||val=='EGG'||val=='GOTHIC'){
  1345. // labelobj.value.v1='全高';
  1346. // labelobj2.value={isshow1:true,isshow2:false,isshow3:false, isshow4:false, isshow5:false}
  1347. // }else if(val=='MODBASKETHANDLE'){
  1348. // labelobj.value.v1='全高';
  1349. // labelobj.value.v2='底宽';
  1350. // labelobj.value.v3='顶部半径*5';
  1351. // console.log()
  1352. // labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1353. // }else if(val=='ARCH'){
  1354. // labelobj.value.v1='全高';
  1355. // labelobj.value.v2='最大宽度';
  1356. // labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1357. // }else if(val=='RECT_ROUND'){
  1358. // labelobj.value.v1='全高';
  1359. // labelobj.value.v2='顶宽';
  1360. // labelobj.value.v3='底部半径';
  1361. // labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1362. // }else if(val=='RECT_ROUND'){
  1363. // labelobj.value.v1='全高';
  1364. // labelobj.value.v2='顶宽';
  1365. // labelobj.value.v3='底部半径';
  1366. // labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1367. // }else if(val=='RECT_TRIANGULAR'){
  1368. // labelobj.value.v1='全高';
  1369. // labelobj.value.v2='顶宽';
  1370. // labelobj.value.v3='三角形高度';
  1371. // labelobj2.value={isshow1:true,isshow2:true,isshow3:true, isshow4:false, isshow5:false}
  1372. // }else if(val=='VERT_ELLIPSE'||val=='HORZI_ELLIPSE'){
  1373. // labelobj.value.v1='全高';
  1374. // labelobj.value.v2='最大宽度^3';
  1375. // labelobj2.value={isshow1:true,isshow2:true,isshow3:false, isshow4:false, isshow5:false}
  1376. // }
  1377. // }
  1378. //选中node节点的一行
  1379. const handleDelete = (val) => {
  1380. currentrow.value = true;
  1381. nodedata.value = val;
  1382. }
  1383. const handleDelete2 = (val) => {
  1384. currentrow1.value = true;
  1385. gddata.value = val;
  1386. gfname.value= gddata.value.gfname;
  1387. bfname.value= gddata.value.bfname;
  1388. }
  1389. //node删除
  1390. const nodedelete = () => {
  1391. console.log(nodedata.value);
  1392. if (JSON.stringify(nodedata.value) == '{}') {
  1393. message.error("你还没有选中删除的项目")
  1394. } else {
  1395. sdialog.value.dialogsgdelect = true;
  1396. zqname.value = nodedata.value.name;
  1397. }
  1398. }
  1399. const nodedeleteapi = () => {
  1400. const params = {
  1401. transCode: 'D10001',
  1402. nid: nodedata.value.id,
  1403. }
  1404. request(params)
  1405. .then((res) => {
  1406. pipelinedata();
  1407. message.success({
  1408. message: '节点删除成功',
  1409. })
  1410. })
  1411. .catch((err) => {
  1412. message.error(err.returnMsg)
  1413. })
  1414. }
  1415. //节点修改
  1416. const accident = () => {
  1417. if (JSON.stringify(nodedata.value) == '{}') {
  1418. message.error("你还没有选中修改的项目")
  1419. } else {
  1420. zhtext.value = '修改';
  1421. tishi.value= zhtext.value;
  1422. sdialog.value.adddialog = true;
  1423. nodeobj.value.name = nodedata.value.name;
  1424. nodeobj.value.x = nodedata.value.x;
  1425. nodeobj.value.y = nodedata.value.y;
  1426. nodeobj.value.z = nodedata.value.z;
  1427. nodeobj.value.nid = nodedata.value.id;
  1428. nodeobj.value.code = nodedata.value.code;
  1429. }
  1430. }
  1431. //巷道查询
  1432. const guandaodata = () => {
  1433. const params = {
  1434. transCode: 'D00001',
  1435. count: gd.value.pageSize4,
  1436. page: gd.value.currentPage4,
  1437. searchtag: '',
  1438. }
  1439. request(params)
  1440. .then((res) => {
  1441. tableData3.value = res.rows.map(item => {
  1442. return {
  1443. ...item,
  1444. sectionType: statusMap[item.sectionType] || '未知' // 如果状态不存在,默认设置为'未知'
  1445. };
  1446. });
  1447. gd.value.total = res.total;
  1448. })
  1449. .catch((err) => {
  1450. message.error(err.returnMsg)
  1451. })
  1452. }
  1453. // 节点选中开始结束
  1454. const nodeclick = (val) => {
  1455. console.log(111);
  1456. nodeselect.value.searchtaggd='';
  1457. nodeselect.value.dialogVisiblenode = true;
  1458. nodeselect.value.pipelinedata("");
  1459. sideid.value = val;
  1460. }
  1461. //节点确定的方法
  1462. const queding = (row) => {
  1463. if (sideid.value == 'start') {
  1464. guandaoobj.value.snId = row.id;
  1465. } else {
  1466. guandaoobj.value.enId = row.id;
  1467. }
  1468. }
  1469. // 管道的add
  1470. const guandaoadd = () => {
  1471. sdialog.value.gdadddialog = true;
  1472. zhtext.value = '添加';
  1473. tishi.value='保存';
  1474. currentrow1.value = false;
  1475. guandaoobj.value.code = '';
  1476. guandaoobj.value.pid = '';
  1477. guandaoobj.value.name = '';
  1478. guandaoobj.value.snId = '';
  1479. guandaoobj.value.enId = '';
  1480. guandaoobj.value.roughCoe = 1.0;
  1481. guandaoobj.value.sectionType = 'halfarch_1';
  1482. guandaoobj.value.sectionPara1 = '';
  1483. guandaoobj.value.sectionPara2 = '';
  1484. guandaoobj.value.sectionPara3 = '';
  1485. guandaoobj.value.sectionPara4 = '0.1';
  1486. guandaoobj.value.sectionPara5 = '';
  1487. changejm( guandaoobj.value.sectionType);
  1488. gfname.value="";
  1489. bfname.value="";
  1490. gddata.value={};
  1491. nextTick(()=>{
  1492. gfx.value.files=[];
  1493. inp.value.files=[];
  1494. })
  1495. }
  1496. // 管道增加修改的接口
  1497. const guandaoapi = () => {
  1498. // if(guandaoobj.value.snId<guandaoobj.value.enId){
  1499. // console.log(params);
  1500. const params = {
  1501. transCode: 'D10002',
  1502. code: guandaoobj.value.code,
  1503. pid: guandaoobj.value.pid,
  1504. name: guandaoobj.value.name,
  1505. snId: guandaoobj.value.snId,
  1506. enId: guandaoobj.value.enId,
  1507. roughCoe: guandaoobj.value.roughCoe,
  1508. roughCoeName:guandaoobj.value.roughCoeName,
  1509. sectionType: guandaoobj.value.sectionType,
  1510. sectionPara1: guandaoobj.value.sectionPara1,
  1511. sectionPara2: guandaoobj.value.sectionPara2,
  1512. sectionPara3: guandaoobj.value.sectionPara3,
  1513. sectionPara4: guandaoobj.value.sectionPara4,
  1514. sectionPara5: guandaoobj.value.sectionPara5,
  1515. gfid:gfid.value,
  1516. bfid:bfid.value,
  1517. }
  1518. console.log(params);
  1519. request(params)
  1520. .then((res) => {
  1521. sdialog.value.gdadddialog = false;
  1522. message.success('巷道信息'+tishi.value+'成功');
  1523. guandaodata();
  1524. nextTick(()=>{
  1525. gfx.value.clearFiles();
  1526. inp.value.clearFiles();
  1527. })
  1528. })
  1529. .catch((err) => {
  1530. const regex = /字段\d*/g;
  1531. let Msg=err.returnMsg.replace(regex, '');
  1532. message.error(Msg)
  1533. // sdialog.value.gdadddialog = true;
  1534. // message.error(err.returnMsg)
  1535. })
  1536. // }
  1537. // else{
  1538. // // sdialog.value.gdadddialog = true;
  1539. // message.error("结束节点要大于开始节点")
  1540. // }
  1541. }
  1542. // 管道删除
  1543. //node删除
  1544. const nodedelete2 = () => {
  1545. console.log(gddata.value);
  1546. if (JSON.stringify(gddata.value) == '{}') {
  1547. message.error("你还没有选中删除的项目")
  1548. } else {
  1549. sdialog.value.guddialogsgdelect = true;
  1550. zqname.value = gddata.value.name;
  1551. }
  1552. }
  1553. const gddelete = () => {
  1554. const params = {
  1555. transCode: 'D10003',
  1556. pid: gddata.value.id,
  1557. }
  1558. request(params)
  1559. .then((res) => {
  1560. guandaodata();
  1561. message.success('巷道信息删除成功');
  1562. gddata.value={};
  1563. })
  1564. .catch((err) => {
  1565. message.error(err.returnMsg)
  1566. })
  1567. }
  1568. // 管道修改
  1569. const accident2 = () => {
  1570. if (JSON.stringify(gddata.value) == '{}') {
  1571. message.error("你还没有选中修改的项目")
  1572. } else {
  1573. zhtext.value = '修改';
  1574. tishi.value=zhtext.value;
  1575. let sectionType=gddata.value.sectionType;
  1576. sdialog.value.gdadddialog = true;
  1577. console.log(gddata.value);
  1578. console.log(111111);
  1579. guandaoobj.value.code = gddata.value.code;
  1580. guandaoobj.value.pid = gddata.value.id;
  1581. guandaoobj.value.name = gddata.value.name;
  1582. guandaoobj.value.snId = gddata.value.snId;
  1583. guandaoobj.value.enId = gddata.value.enId;
  1584. guandaoobj.value.roughCoe = gddata.value.roughCoe;
  1585. zuli.value.zidiny=gddata.value.roughCoe;
  1586. guandaoobj.value.roughCoeName = gddata.value.roughCoeName;
  1587. guandaoobj.value.sectionType = gddata.value.sectionType;
  1588. guandaoobj.value.sectionPara1 = gddata.value.sectionPara1;
  1589. guandaoobj.value.sectionPara2 = gddata.value.sectionPara2;
  1590. guandaoobj.value.sectionPara3 = gddata.value.sectionPara3;
  1591. guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1592. guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;
  1593. switch (sectionType) {
  1594. case '1-1断面':
  1595. guandaoobj.value.sectionType='halfarch_1'
  1596. break;
  1597. case "2-2断面":
  1598. guandaoobj.value.sectionType='halfarch_2'
  1599. break;
  1600. case '3-3断面':
  1601. guandaoobj.value.sectionType='halfarch_3'
  1602. break;
  1603. case '4-4断面':
  1604. guandaoobj.value.sectionType='halfarch_4'
  1605. break;
  1606. case '5-5断面':
  1607. guandaoobj.value.sectionType='halfarch_5'
  1608. break;
  1609. case "6-6断面":
  1610. guandaoobj.value.sectionType='halfarch_6'
  1611. break;
  1612. case '7-7断面':
  1613. guandaoobj.value.sectionType='halfarch_7'
  1614. break;
  1615. case '8-8断面':
  1616. guandaoobj.value.sectionType='halfarch_8'
  1617. break;
  1618. case "9-9断面":
  1619. guandaoobj.value.sectionType='section9'
  1620. break;
  1621. case '10-10断面':
  1622. guandaoobj.value.sectionType='section10'
  1623. break;
  1624. case '11-11断面':
  1625. guandaoobj.value.sectionType='halfarch_11'
  1626. break;
  1627. case "12-12断面":
  1628. guandaoobj.value.sectionType='halfarch_12'
  1629. break;
  1630. case '13-13断面':
  1631. guandaoobj.value.sectionType='halfarch_13'
  1632. break;
  1633. case '14-14断面':
  1634. guandaoobj.value.sectionType='halfarch_14'
  1635. break;
  1636. case '15-15断面':
  1637. guandaoobj.value.sectionType='halfarch_15'
  1638. break;
  1639. case '16-16断面':
  1640. guandaoobj.value.sectionType='halfarch_16'
  1641. break;
  1642. case '17-17断面':
  1643. guandaoobj.value.sectionType='halfarch_17'
  1644. break;
  1645. case "18-18断面":
  1646. guandaoobj.value.sectionType='halfarch_18'
  1647. break;
  1648. case '19-19断面':
  1649. guandaoobj.value.sectionType='halfarch_19'
  1650. break;
  1651. case '20-20断面':
  1652. guandaoobj.value.sectionType='halfarch_20'
  1653. break;
  1654. }
  1655. changejm(guandaoobj.value.sectionType);
  1656. // guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
  1657. // guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
  1658. Gassaddgfid( gddata.value.gfid);
  1659. Gassaddbfid( gddata.value.bfid);
  1660. nextTick(()=>{
  1661. gfx.value.files=[];
  1662. inp.value.files=[];
  1663. })
  1664. }
  1665. }
  1666. // //文件上传的方法
  1667. const handfiles = (file) => {
  1668. files.value = "";
  1669. files.value = file;
  1670. }
  1671. const Gassaddgfid=(gf)=>{
  1672. gfid.value=gf;
  1673. }
  1674. const Gassaddbfid=( bf)=>{
  1675. bfid.value=bf;
  1676. console.log(11222)
  1677. }
  1678. // 清空文件
  1679. const clearFiles=()=>{
  1680. console.log(1111888881)
  1681. // inp.upload.clearFiles();
  1682. // gfx.upload.clearFiles();
  1683. }
  1684. //判断文件是否上传
  1685. const fileboolen=(val)=>{
  1686. let msg=gfx.value.msg;
  1687. let msg2=inp.value.msg;
  1688. console.log(msg2);
  1689. if(msg=="上传中"||msg2=="上传中"){
  1690. message.error("上传中不能关闭");
  1691. }else{
  1692. if(val=='cancel'){
  1693. sdialog.value.gdadddialog=false;
  1694. }else{
  1695. }
  1696. // sdialog.value.gdadddialog=false;
  1697. if(val=='confirm'&&msg=="已上传"||val=='confirm'&&msg2=="已上传"||val=='confirm'&&msg==undefined||val=='confirm'&&msg2==undefined){
  1698. //sdialog.value.gdadddialog=false;
  1699. if(guandaoobj.value.code==''){
  1700. message.error("编号不能为空");
  1701. }else if(guandaoobj.value.name==''){
  1702. message.error("名称不能为空");
  1703. }
  1704. else{
  1705. guandaoapi();
  1706. }
  1707. }
  1708. // guandaoapi();
  1709. }
  1710. }
  1711. // input 点击事件
  1712. const handleChange=(val)=>{
  1713. //resourcechange();
  1714. jsuanval.value=val;
  1715. if(zairadio.value=='0'){
  1716. if(zulitext.value=='圆木棚式支护'){
  1717. logcompute();
  1718. }else if(zulitext.value=='工字梁拱形和梯形支护'){
  1719. gzicompute();
  1720. }else if(zulitext.value=='金属梁与柱支护'){
  1721. metalcompute();
  1722. }else{
  1723. falsecalculatefun();
  1724. }
  1725. }else{
  1726. addzhangai();
  1727. }
  1728. }
  1729. // 阻碍
  1730. const zaihandleChange=(val)=>{
  1731. zuaival.value=val;
  1732. addzhangai();
  1733. }
  1734. // 选中计算
  1735. const resourcechange=(val)=>{
  1736. resource.value=val;
  1737. switch(resource.value){
  1738. case '0':
  1739. jsuanval.value=jisuanobj.value.val1;
  1740. break;
  1741. case '1':
  1742. jsuanval.value=jisuanobj.value.val2;
  1743. break;
  1744. case '2':
  1745. jsuanval.value=jisuanobj.value.val3;
  1746. break;
  1747. case '3':
  1748. jsuanval.value=jisuanobj.value.val4;
  1749. break;
  1750. }
  1751. if(zairadio.value=='0'){
  1752. falsecalculatefun();
  1753. }else{
  1754. calculatefun();
  1755. }
  1756. }
  1757. // 砌碹巷道
  1758. const resourcechange2=(val)=>{
  1759. resource.value=val;
  1760. switch(resource.value){
  1761. case '0':
  1762. jsuanval.value=qxmobj.value.val1;
  1763. break;
  1764. case '1':
  1765. jsuanval.value=qxmobj.value.val2;
  1766. break;
  1767. case '2':
  1768. jsuanval.value=qxmobj.value.val3;
  1769. break;
  1770. case '3':
  1771. jsuanval.value=qxmobj.value.val4;
  1772. break;
  1773. case '4':
  1774. jsuanval.value=qxmobj.value.val5;
  1775. break;
  1776. }
  1777. if(zairadio.value=='0'){
  1778. falsecalculatefun();
  1779. }else{
  1780. calculatefun();
  1781. }
  1782. }
  1783. // 障碍物
  1784. const zaireschange=(val)=>{
  1785. zaires.value=val;
  1786. switch(zaires.value){
  1787. case '0':
  1788. zuaival.value=zaiobj.value.val1;
  1789. break;
  1790. case '1':
  1791. zuaival.value=zaiobj.value.val2;
  1792. break;
  1793. case '2':
  1794. zuaival.value=zaiobj.value.val3;
  1795. break;
  1796. }
  1797. addzhangai();
  1798. }
  1799. // 障碍为否是
  1800. // 计算
  1801. const falsecalculatefun=()=>{
  1802. let zonghe= parseFloat( jsuanval.value);
  1803. console.log(zonghe);
  1804. console.log(44567788);
  1805. zuli.value.jsuan=zonghe/ 10000;
  1806. }
  1807. // 计算
  1808. const calculatefun=()=>{
  1809. let zonghe= parseFloat( jsuanval.value)+parseFloat( zuaival.value);
  1810. console.log(zonghe);
  1811. zuli.value.jsuan=(zonghe/ 10000).toFixed(6);
  1812. }
  1813. // 清空
  1814. const zairadiochage1=()=>{
  1815. console.log(radio1.value);
  1816. if(radio1.value=="0"){
  1817. zuli.value.jsuan=null;
  1818. jsuanval.value=0;
  1819. zuli.value.zidiny=guandaoobj.value.roughCoe;
  1820. }else if(radio1.value=="1"&&zairadio.value=='1'){
  1821. zuli.value.zidiny=null;
  1822. addzhangai();
  1823. }else if(zairadio.value=='0'){
  1824. if(zulitext.value=='毛壁面'||zulitext.value=='砌碹面'||zulitext.value=='其它支护'||zulitext.value=='工作面'){
  1825. falsecalculatefun();
  1826. }else if(zulitext.value=='圆木棚式支护'){
  1827. logcompute();
  1828. }else if(zulitext.value=='工字梁拱形和梯形支护'){
  1829. gzicompute();
  1830. }else if(zulitext.value=='金属梁与柱支护'){
  1831. metalcompute();
  1832. }
  1833. } else{
  1834. // calculatefun();
  1835. }
  1836. }
  1837. const maoqueding=()=>{
  1838. if(radio1.value=='0'){
  1839. guandaoobj.value.roughCoe=zuli.value.zidiny;
  1840. }else if(radio1.value=='1'){
  1841. guandaoobj.value.roughCoe=zuli.value.jsuan;
  1842. }
  1843. message.success('系数保存成功');
  1844. sdialog.value.resistance = false;
  1845. }
  1846. const seltree=(data)=>{
  1847. let val=data.value;
  1848. zairadiochage1();
  1849. radio1.value='0';
  1850. zuli.value.jsuan='';
  1851. zuli.value.zidiny= guandaoobj.value.roughCoe;
  1852. if(val=='毛壁面'){
  1853. jsuanval.value=jisuanobj.value.val1;
  1854. zulitext.value='毛壁面'
  1855. sdialog.value.resistance=true;
  1856. // calculatefun();
  1857. }else if(val=='砌碹面'){
  1858. jsuanval.value=qxmobj.value.val1;
  1859. zulitext.value='砌碹面'
  1860. sdialog.value.resistance=true;
  1861. // calculatefun();
  1862. }else if(val=='圆木棚式支护'){
  1863. zulitext.value='圆木棚式支护'
  1864. sdialog.value.resistance=true;
  1865. }else if(val=='工字梁拱形和梯形支护'){
  1866. zulitext.value='工字梁拱形和梯形支护'
  1867. sdialog.value.resistance=true;
  1868. }else if(val=='金属梁与柱支护'){
  1869. zulitext.value='金属梁与柱支护'
  1870. sdialog.value.resistance=true;
  1871. }
  1872. else if(val=='其它支护'){
  1873. jsuanval.value=qtzhobj.value.val1;
  1874. zulitext.value='其它支护'
  1875. sdialog.value.resistance=true;
  1876. }else if(val=='工作面'){
  1877. zulitext.value='工作面'
  1878. sdialog.value.resistance=true;
  1879. }else{
  1880. }
  1881. }
  1882. //判断当前是否加障碍物
  1883. const addzhangai=()=>{
  1884. let zuaival1=zuaival.value/10000;
  1885. if(zulitext.value=='圆木棚式支护'){
  1886. logcompute();
  1887. zuli.value.jsuan= (Number(zuli.value.jsuan)+ zuaival1).toFixed(6);
  1888. } else if(zulitext.value=='工字梁拱形和梯形支护'){
  1889. gzicompute();
  1890. zuli.value.jsuan= (Number(zuli.value.jsuan)+zuaival1).toFixed(6);
  1891. }else if(zulitext.value=='金属梁与柱支护'){
  1892. metalcompute ();
  1893. zuli.value.jsuan= (Number(zuli.value.jsuan)+ zuaival1).toFixed(6);
  1894. }else{
  1895. calculatefun();
  1896. }
  1897. }
  1898. // 圆木棚式支护的计算
  1899. const logcompute=()=>{
  1900. let ldC= (ympszh.value.val1)/(ympszh.value.val2);
  1901. let LD=Math.pow(ldC,2)
  1902. let lDhe=-5.21994*LD;//第一个
  1903. let d2=0.0136272*Math.pow((ympszh.value.val2),2);
  1904. let ldji=0.124129*(ldC*ympszh.value.val2);//第三个
  1905. let d4=5.21133*ldC+1.89758*ympszh.value.val2;
  1906. let a1=lDhe+d2+ldji+d4-0.42746;
  1907. let a2=(0.00605857*Math.pow((ympszh.value.val3),2)+0.1104174*ympszh.value.val3+1.29266783);
  1908. let a=0.0001*(a1*a2);
  1909. zuli.value.jsuan=(a).toFixed(6);
  1910. }
  1911. // 工字梁拱形和梯形支护的计算
  1912. const gzicompute=()=>{
  1913. let ldC= (gzlg.value.val1)/(gzlg.value.val2);
  1914. let LD=Math.pow(ldC,2)
  1915. let lDhe=-4.65195*LD;//第一个
  1916. let d2=0.209286*Math.pow((gzlg.value.val2),2);
  1917. let ldji=3.01*(ldC*gzlg.value.val2);//第三个
  1918. let d4=39.13845*ldC-4.21*gzlg.value.val2;
  1919. let a1=lDhe+d2+ldji+d4+4.006596;
  1920. let a2=(0.00470063*Math.pow((gzlg.value.val3),2)-0.09314235*gzlg.value.val3+1.307954);
  1921. let a=0.0001*(a1*a2);
  1922. zuli.value.jsuan=(a).toFixed(6);
  1923. }
  1924. // 金属梁与柱支护的计算
  1925. const metalcompute=()=>{
  1926. let ldC= (jsl.value.val1)/(jsl.value.val2);
  1927. let LD=Math.pow(ldC,2)
  1928. let lDhe=-1.05*LD;//第一个
  1929. let d2=41.9947*Math.pow((jsl.value.val2),2);
  1930. let ldji=0.49*(ldC*jsl.value.val2);//第三个
  1931. let d4=8.4*ldC-3779.52543*jsl.value.val2;
  1932. let a1=lDhe+d2+ldji+d4-83884.594;
  1933. let a2=(0.00470063*Math.pow((jsl.value.val3),2)-0.09314235*jsl.value.val3+1.307954);
  1934. let a=0.0001*(a1*a2);
  1935. zuli.value.jsuan=(a).toFixed(6);
  1936. }
  1937. //其它支护的计算
  1938. const qtzhobjchange=(val)=>{
  1939. if(val=='0'){
  1940. jsuanval.value=qtzhobj.value.val1;
  1941. }else if(val=='1'){
  1942. jsuanval.value=qtzhobj.value.val2;
  1943. }
  1944. let zonghe= parseFloat( jsuanval.value);
  1945. zuli.value.jsuan=zonghe/ 10000;
  1946. console.log(zairadio.value);
  1947. if(zairadio.value=='0'){
  1948. falsecalculatefun();
  1949. }else{
  1950. calculatefun();
  1951. }
  1952. }
  1953. //工作面
  1954. const handleRadioChange=(val)=>{
  1955. jsuanval.value=0;
  1956. if(val=='0'){
  1957. gzmobj1.value.gzm=null;
  1958. gzmobj2.value.gzm=null;
  1959. console.log( jsuanval.value);
  1960. }else if(val=='1'){
  1961. gzmobj.value.gzm=null;
  1962. gzmobj2.value.gzm=null;
  1963. }else if(val=='2'){
  1964. gzmobj.value.gzm=null;
  1965. gzmobj1.value.gzm=null;
  1966. }
  1967. if(zairadio.value=='0'){
  1968. falsecalculatefun();
  1969. }else{
  1970. calculatefun();
  1971. }
  1972. }
  1973. //gzchange
  1974. const gzchange=(val)=>{
  1975. if(val=='1'){
  1976. jsuanval.value=(gzmobj.value.val1).toFixed(6);
  1977. }else if(val=='2'){
  1978. jsuanval.value=(gzmobj.value.val2).toFixed(6);
  1979. }else if(val=='3'){
  1980. jsuanval.value=(gzmobj1.value.val1).toFixed(6);
  1981. }else if(val=='4'){
  1982. jsuanval.value=(gzmobj1.value.val2).toFixed(6);
  1983. }else if(val=='5'){
  1984. jsuanval.value=(gzmobj2.value.val1).toFixed(6);
  1985. }else if(val=='6'){
  1986. jsuanval.value=(gzmobj2.value.val2).toFixed(6);
  1987. }else if(val=='7'){
  1988. jsuanval.value=(gzmobj2.value.val3).toFixed(6);
  1989. }
  1990. if(zairadio.value=='0'){
  1991. falsecalculatefun();
  1992. }else{
  1993. calculatefun();
  1994. }
  1995. }
  1996. defineExpose({ dialogVisible, });
  1997. </script>
  1998. <style scoped>
  1999. .maopading .jisuan1 .el-input-number{
  2000. width: 40%;
  2001. }
  2002. .maoconent{
  2003. }
  2004. </style>