index.vue 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610
  1. <template>
  2. <div class="app-container home">
  3. <div v-if="sysType == 1">
  4. <div style="display: flex; margin-bottom: 40px">
  5. <div style="width: 70%">
  6. <ul class="block" v-if="sysType == 1 || sysType == 3">
  7. <li @click="jump('/business/inStock')">
  8. <div>
  9. <i
  10. class="el-icon-download"
  11. style="font-size: 50px; text-align: center"
  12. ></i>
  13. <p>入库</p>
  14. </div>
  15. </li>
  16. <li @click="jump('/business/outStock')">
  17. <div>
  18. <i
  19. class="el-icon-upload2"
  20. style="font-size: 50px; text-align: center"
  21. ></i>
  22. <p>出库</p>
  23. </div>
  24. </li>
  25. <li @click="jump('/basicdata/corps')">
  26. <div>
  27. <i
  28. class="el-icon-s-custom"
  29. style="font-size: 50px; text-align: center"
  30. ></i>
  31. <p>新增用户</p>
  32. </div>
  33. </li>
  34. <li @click="jump('/basicdata/goods')">
  35. <div>
  36. <i
  37. class="el-icon-s-cooperation"
  38. style="font-size: 50px; text-align: center"
  39. ></i>
  40. <p>新增商品</p>
  41. </div>
  42. </li>
  43. <li @click="jump('/business/stockTransfer')">
  44. <div>
  45. <i
  46. class="el-icon-connection"
  47. style="font-size: 50px; text-align: center"
  48. ></i>
  49. <p>调拨</p>
  50. </div>
  51. </li>
  52. <li @click="jump('/finance/charge')">
  53. <div>
  54. <i
  55. class="el-icon-wallet"
  56. style="font-size: 50px; text-align: center"
  57. ></i>
  58. <p>收款</p>
  59. </div>
  60. </li>
  61. <li @click="jump('/finance/payment')">
  62. <div>
  63. <i
  64. class="el-icon-money"
  65. style="font-size: 50px; text-align: center"
  66. ></i>
  67. <p>付款</p>
  68. </div>
  69. </li>
  70. <li @click="jump('/finance/contrast')">
  71. <div>
  72. <i
  73. class="el-icon-s-management"
  74. style="font-size: 50px; text-align: center"
  75. ></i>
  76. <p>对账</p>
  77. </div>
  78. </li>
  79. <li @click="jump('/business/goodsTransfer')">
  80. <div>
  81. <i
  82. class="el-icon-takeaway-box"
  83. style="font-size: 50px; text-align: center"
  84. ></i>
  85. <p>货转</p>
  86. </div>
  87. </li>
  88. <li @click="jump('/agreement/agreementStorage')">
  89. <div>
  90. <i
  91. class="el-icon-s-order"
  92. style="font-size: 50px; text-align: center"
  93. ></i>
  94. <p>协议</p>
  95. </div>
  96. </li>
  97. </ul>
  98. </div>
  99. <div style="width: 30%">
  100. <div style="width: 100%">
  101. <div style="display: flex">
  102. <div id="box" style="width: 100%; height: 350px"></div>
  103. <el-select
  104. v-model="select"
  105. slot="prepend"
  106. size="mini"
  107. :select="query()"
  108. placeholder="点击切换仓库"
  109. style="position: absolute; width: 8%; right: 1%"
  110. >
  111. <div v-for="(item, index) in warehouse" :key="index">
  112. <el-option
  113. :label="item.fName"
  114. :value="item.fWarehouseid"
  115. ></el-option>
  116. </div>
  117. </el-select>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <div style="display: flex; margin-bottom: 40px">
  123. <div style="width: 70%">
  124. <div>
  125. <div
  126. style="
  127. display: flex;
  128. color: #515a6e;
  129. font-weight: 600;
  130. background-color: #f8f8f9;
  131. height: 42.6px;
  132. font-size: 13px;
  133. justify-content: space-between;
  134. border-bottom: 1px dashed #dfe6ec;
  135. "
  136. >
  137. <div class="home_stock_table">委托方</div>
  138. <div class="home_stock_table">日期</div>
  139. <div class="home_stock_table">提单号</div>
  140. <div class="home_stock_table">业务类型</div>
  141. <div class="home_stock_table_right">
  142. <div>操作</div>
  143. <el-link type="primary" @click="jump('/morePage/stock')"
  144. >更多></el-link
  145. >
  146. </div>
  147. </div>
  148. <div v-if="tableData.length > 0">
  149. <div
  150. style="
  151. display: flex;
  152. height: 42.6px;
  153. border-bottom: 1px dashed #dfe6ec;
  154. "
  155. v-for="(item, index) in tableData"
  156. :key="index"
  157. >
  158. <div class="home_stock_table"> <p>{{ item.refno1 }}</p></div>
  159. <div class="home_stock_table">
  160. {{ item.sendTime ? item.sendTime.slice(0,10) : item.sendTime}}
  161. </div>
  162. <div class="home_stock_table"><p>{{ item.refno1 }}</p></div>
  163. <div class="home_stock_table">
  164. <span v-if="item.refno2 === 'SJRK'">入库</span>
  165. <span v-else-if="item.refno2 === 'SJCK'">出库</span>
  166. <span v-else-if="item.refno2 === 'HQZY'">货转</span>
  167. <span v-else-if="item.refno2 === 'CKDB'">调拨</span>
  168. <span v-else-if="item.refno2 === 'CCF'">仓储费</span>
  169. <span v-else-if="item.refno2 === 'HWTG'">货物通关</span>
  170. <span v-else-if="item.refno2 === 'ZYF'">作业费</span>
  171. <span v-else-if="item.refno2 === 'SF'">收费</span>
  172. <span v-else-if="item.refno2 === 'DZ'">对账</span>
  173. <span v-else-if="item.refno2 === 'FF'">付费</span>
  174. <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
  175. <span v-else-if="item.refno2 === 'KHDZ'">凯和对账</span>
  176. <span v-else-if="item.refno2 === 'KHSF'">凯和收费</span>
  177. <span v-else-if="item.refno2 === 'KHFF'">凯和付费</span>
  178. <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
  179. <span v-else-if="item.refno2 === 'KHDD'">凯合订单</span>
  180. <span v-else-if="item.refno2 === 'SE'">下单配船</span>
  181. </div>
  182. <div class="home_stock_table" @click="approval(item)">
  183. 查看详情
  184. </div>
  185. </div>
  186. </div>
  187. <div
  188. v-else
  189. style="
  190. display: flex;
  191. justify-content: center;
  192. height: 213px;
  193. border-bottom: 1px solid #dfe6ec;
  194. "
  195. >
  196. <div style="align-self: center; color: #909399; font-size: 14px">
  197. 暂无数据
  198. </div>
  199. </div>
  200. </div>
  201. <!-- <el-table
  202. :data="tableData"
  203. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  204. :cell-style="cellStyle"
  205. >
  206. <el-table-column
  207. prop="refno1"
  208. :show-overflow-tooltip="true"
  209. label="委托方"
  210. ></el-table-column>
  211. <el-table-column
  212. prop="auditItem"
  213. :show-overflow-tooltip="true"
  214. label="日期"
  215. >
  216. <template slot-scope="scope">
  217. <span v-if="!scope.row.auditItem">无时间</span>
  218. <span v-else>{{ scope.row.auditItem.slice(0, 10) }}</span>
  219. </template>
  220. </el-table-column>
  221. <el-table-column
  222. prop="refno3"
  223. :show-overflow-tooltip="true"
  224. label="提单号"
  225. ></el-table-column>
  226. <el-table-column
  227. prop="refno2"
  228. :show-overflow-tooltip="true"
  229. label="业务类型"
  230. >
  231. <template slot-scope="scope">
  232. <span v-if="scope.row.refno2 === 'SJRK'">入库</span>
  233. <span v-else-if="scope.row.refno2 === 'SJCK'">出库</span>
  234. <span v-else-if="scope.row.refno2 === 'HQZY'">货转</span>
  235. <span v-else-if="scope.row.refno2 === 'CKDB'">调拨</span>
  236. <span v-else-if="scope.row.refno2 === 'CCF'">仓储费</span>
  237. <span v-else-if="scope.row.refno2 === 'HWTG'">货物通关</span>
  238. <span v-else-if="scope.row.refno2 === 'ZYF'">作业费</span>
  239. <span v-else-if="scope.row.refno2 === 'SF'">收费</span>
  240. <span v-else-if="scope.row.refno2 === 'DZ'">对账</span>
  241. <span v-else-if="scope.row.refno2 === 'FF'">付费</span>
  242. <span v-else-if="scope.row.refno2 === 'JSCCF'">计算仓储费</span>
  243. </template>
  244. </el-table-column>
  245. <el-table-column prop="address" label="操作" width="80">
  246. <template slot-scope="scope">
  247. <span style="cursor: pointer" @click="approval(scope.row)"
  248. >查看详情</span
  249. >
  250. </template>
  251. </el-table-column>
  252. </el-table> -->
  253. </div>
  254. <div style="width: 30%">
  255. <el-table
  256. :data="tableDataTwo"
  257. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  258. :cell-style="cellStyle"
  259. style="margin-left: 20px"
  260. >
  261. <el-table-column
  262. prop="noticeTitle"
  263. :show-overflow-tooltip="true"
  264. label="消息中心"
  265. />
  266. <el-table-column prop="address" label="操作" width="80">
  267. <template slot-scope="scope">
  268. <span
  269. @click="querytoDo(scope.row.noticeContent)"
  270. style="cursor: pointer"
  271. >查看详情</span
  272. >
  273. </template>
  274. </el-table-column>
  275. </el-table>
  276. </div>
  277. </div>
  278. <div style="display: flex">
  279. <div style="width: 70%">
  280. <div
  281. id="commoDity"
  282. style="width: 100%; height: 350px; margin-left: 40px"
  283. ></div>
  284. </div>
  285. <div style="width: 30%">
  286. <div id="cargoOwner" style="width: 100%; height: 350px"></div>
  287. </div>
  288. </div>
  289. </div>
  290. <el-dialog
  291. v-if="sysType == 1 || sysType == 3"
  292. title="消息提示"
  293. :visible.sync="dialogVisible"
  294. width="80%"
  295. :before-close="handleClose"
  296. :close-on-click-modal="false"
  297. >
  298. <span
  299. v-html="text"
  300. class="text"
  301. style="max-width: 100%; height: auto"
  302. ></span>
  303. <span slot="footer" class="dialog-footer">
  304. <el-button type="primary" @click="dialogVisible = false"
  305. >关 闭</el-button
  306. >
  307. </span>
  308. </el-dialog>
  309. <div class="home-fleet" v-if="sysType == 2">
  310. <div class="home-left">
  311. <chi-card title="业务看板" iconName="el-icon-s-cooperation">
  312. <div slot="content">
  313. <div class="content-top">
  314. <div class="content-top-left">
  315. <div
  316. style="display: flex; align-self: center; margin-left: 5px"
  317. >
  318. <div style="align-self: center">
  319. <svg
  320. t="1616396514864"
  321. class="icon"
  322. viewBox="0 0 1024 1024"
  323. version="1.1"
  324. xmlns="http://www.w3.org/2000/svg"
  325. p-id="9805"
  326. width="20"
  327. height="20"
  328. >
  329. <path
  330. d="M314.324 292.999c24.207 0.095 44.072-19.16 44.72-43.36L359.044 52.6c-0.647-24.2-20.512-43.455-44.72-43.36-23.945 0-43.36 19.415-43.36 43.36l0 197.04C271.012 273.567 290.397 292.952 314.324 292.999L314.324 292.999zM707.923 292.999c24.21 0.095 44.07-19.16 44.72-43.36L752.643 52.6c-0.65-24.2-20.51-43.455-44.72-43.36-23.945 0-43.36 19.415-43.36 43.36l0 197.04C664.563 273.584 683.978 292.999 707.923 292.999L707.923 292.999zM402.084 118.36l219.279 0 0 65.6L402.084 183.96 402.084 118.36 402.084 118.36zM878.003 118.36l-81.52 0 0 65.2 84.64 0c25.2 0.345 45.535 20.72 45.84 45.92l0 152L96.085 381.48 96.085 229.56c0.48-25.232 21-45.472 46.24-45.6l85.2 0 0-65.6-81.36 0c-63.345 0.265-114.592 51.615-114.72 114.96l0 666.558c-0.752 62.69 49.455 114.12 112.152 114.87 0.16 0 0.328 0 0.488 0.01l733.758 0c63.31-0.265 114.545-51.57 114.72-114.88L992.563 233.32C992.432 170.04 941.282 118.712 878.003 118.36L878.003 118.36zM497.929 810.758c-74.175 0.185-134.465-59.815-134.645-133.995-0.177-74.175 59.815-134.465 133.995-134.645 74.175-0.18 134.46 59.815 134.645 133.995 0 0.11 0 0.215 0 0.325C632.023 750.533 572.023 810.658 497.929 810.758L497.929 810.758 497.929 810.758z"
  331. p-id="9806"
  332. fill="#000000"
  333. ></path>
  334. </svg>
  335. </div>
  336. <div
  337. style="
  338. align-self: center;
  339. font-size: 16px;
  340. margin: 2px 0 0 5px;
  341. "
  342. >
  343. 今日新增柜数
  344. </div>
  345. </div>
  346. <div
  347. style="
  348. font-size: 36px;
  349. align-self: center;
  350. font-weight: 600;
  351. color: #014da1;
  352. "
  353. >
  354. {{ upperLeftCntrs.planQuantity }}
  355. </div>
  356. </div>
  357. <div class="content-top-right">
  358. <div
  359. style="
  360. display: flex;
  361. align-self: center;
  362. min-width: 120px;
  363. margin-left: 5px;
  364. "
  365. >
  366. <div style="align-self: center">
  367. <svg
  368. t="1616400289333"
  369. class="icon"
  370. viewBox="0 0 1024 1024"
  371. version="1.1"
  372. xmlns="http://www.w3.org/2000/svg"
  373. p-id="22417"
  374. width="20"
  375. height="20"
  376. >
  377. <path
  378. d="M864.425973 1023.936004 228.305731 1023.936004c-114.296856 0-130.871821-105.529404-133.111681-128.439973l-0.383976-0.575964 0.31998 0c-0.255984-2.367852-0.31998-4.031748-0.31998-4.031748l0-12.351228c-60.604212-36.093744-64.059996-115.320792-64.059996-115.320792L30.750078 126.328104C30.814074 3.967752 158.934067 0 158.934067 0l643.415787 0c64.63596 0 96.441972 38.269608 112.120992 72.63546 71.931504 28.47822 78.779076 117.496656 78.779076 117.496656l0 700.756203C993.249922 890.952315 974.56309 1023.936004 864.425973 1023.936004L864.425973 1023.936004 864.425973 1023.936004zM479.298044 256.687957l0 191.476033L222.994063 448.16399 222.994063 511.968002l256.303981 0 0 191.476033 256.303981-223.410037L479.298044 256.687957 479.298044 256.687957 479.298044 256.687957zM927.782014 129.015937l-64.059996 0 0 748.433223 0 17.470908-46.07712 0L158.934067 894.920067 158.934067 895.944003l0 62.844072 704.787951 0 64.059996 0L927.782014 129.015937 927.782014 129.015937zM927.782014 129.015937"
  379. p-id="22418"
  380. ></path>
  381. </svg>
  382. </div>
  383. <div
  384. style="
  385. align-self: center;
  386. font-size: 16px;
  387. margin: 2px 0 0 5px;
  388. "
  389. >
  390. 未安排柜数
  391. </div>
  392. </div>
  393. <div
  394. style="
  395. font-size: 36px;
  396. align-self: center;
  397. font-weight: 600;
  398. color: #014da1;
  399. "
  400. >
  401. {{ upperLeftCntrs.surplusQuantity }}
  402. </div>
  403. </div>
  404. </div>
  405. <div class="content-bottom">
  406. <div style="display: flex; align-self: center; margin-left: 5px">
  407. <div style="align-self: center">
  408. <svg
  409. t="1616402886142"
  410. class="icon"
  411. viewBox="0 0 1024 1024"
  412. version="1.1"
  413. xmlns="http://www.w3.org/2000/svg"
  414. p-id="31596"
  415. width="24"
  416. height="24"
  417. >
  418. <path
  419. d="M55.3 594.7V851c0 11 9 20 20 20h3.1c10 0 18.3-7.4 19.8-17.2 8.3-55.3 56.1-97.8 113.7-97.8s105.4 42.4 113.7 97.8c1.5 9.9 9.8 17.2 19.8 17.2H386c11 0 20-9 20-20V407c0-11-9-20-20-20H280c-33.1 0-64.8 13.7-87.5 37.9L71.6 553.7c-10.5 11.1-16.3 25.8-16.3 41zM336 478v144c0 11-9 20-20 20H145.3c-11 0-20-9-20-20v-13.6c0-10.5 4.2-20.7 11.6-28.1l85.9-86.7c22.5-22.8 53.2-35.6 85.3-35.6h7.9c11 0 20 8.9 20 20zM467.3 257v574c0 22.1 17.9 40 40 40h175.1c10 0 18.3-7.4 19.8-17.2 8.3-55.3 56.1-97.8 113.7-97.8 63.5 0 115 51.5 115 115 20.4 0 37-16.6 37-37V257c0-22.1-17.9-40-40-40H507.3c-22.1 0-40 17.9-40 40z"
  420. p-id="31597"
  421. ></path>
  422. <path
  423. d="M213.5 797c-45.4-0.8-82.3 36.1-81.5 81.5 0.8 42.8 35.7 77.7 78.5 78.5 45.4 0.8 82.3-36.1 81.5-81.5-0.8-42.8-35.7-77.7-78.5-78.5zM817.5 797c-45.4-0.8-82.3 36.1-81.5 81.5 0.8 42.8 35.7 77.7 78.5 78.5 45.4 0.8 82.3-36.1 81.5-81.5-0.8-42.8-35.7-77.7-78.5-78.5z"
  424. p-id="31598"
  425. ></path>
  426. </svg>
  427. </div>
  428. <div
  429. style="
  430. align-self: center;
  431. font-size: 16px;
  432. margin: 2px 0 0 5px;
  433. width: 110px;
  434. "
  435. >
  436. 今日派车数
  437. </div>
  438. </div>
  439. <div
  440. style="
  441. font-size: 36px;
  442. align-self: center;
  443. font-weight: 600;
  444. color: #014da1;
  445. "
  446. >
  447. {{ fleetData.upperLeftCarQuantity }}
  448. </div>
  449. <div style="align-self: center; color: #409eff">派车详情></div>
  450. </div>
  451. <div class="content-bottom">
  452. <div
  453. style="
  454. display: flex;
  455. align-self: center;
  456. min-width: 120px;
  457. margin-left: 5px;
  458. "
  459. >
  460. <div style="align-self: center">
  461. <svg
  462. t="1616402771353"
  463. class="icon"
  464. viewBox="0 0 1048 1024"
  465. version="1.1"
  466. xmlns="http://www.w3.org/2000/svg"
  467. p-id="29149"
  468. width="20"
  469. height="20"
  470. >
  471. <path
  472. d="M880.931574 1.385265c-82.95439-11.745754-55.058223 55.058223-55.058224 55.058223l60.931101 83.6885c88.093157 106.445898-33.034934 81.486171-33.034934 81.48617-77.081513 36.705482 0 82.95439 0 82.95439h110.116447v496.99223c-49.185346 69.740416-82.95439 0-82.95439 0V470.481328a106.445898 106.445898 0 0 0-82.95439-110.116447H715.022794a34.503153 34.503153 0 0 1-27.896167-27.896166V84.339655c0-41.11014-18.352741-51.387675-54.324113-53.590004S198.209604 30.749651 135.810284 30.749651a55.058223 55.058223 0 0 0-54.324113 55.058223v828.075679c-163.706451 56.526443-27.896166 110.116447-27.896167 110.116447h690.063066c107.914118-73.410964-55.058223-110.116447-55.058223-110.116447v-440.465787l4.404658-4.404657a73.410964 73.410964 0 0 1 105.711788 4.404657v357.511397a122.596311 122.596311 0 0 0 55.058224 82.95439h110.116447a198.209604 198.209604 0 0 0 82.954389-82.95439v-660.69868zM610.045115 345.682688a34.503153 34.503153 0 0 1-34.503154 34.503154H191.602617a34.503153 34.503153 0 0 1-34.503153-34.503154V148.207194a34.503153 34.503153 0 0 1 34.503153-34.503153h383.939344a34.503153 34.503153 0 0 1 34.503154 34.503153z"
  473. p-id="29150"
  474. ></path>
  475. </svg>
  476. </div>
  477. <div
  478. style="
  479. align-self: center;
  480. font-size: 16px;
  481. margin: 2px 0 0 5px;
  482. width: 110px;
  483. "
  484. >
  485. 可用车辆数
  486. </div>
  487. </div>
  488. <div
  489. style="
  490. font-size: 36px;
  491. align-self: center;
  492. font-weight: 600;
  493. color: #014da1;
  494. "
  495. >
  496. {{ fleetData.upperLeftOldCarQuantity }}
  497. </div>
  498. <div style="align-self: center; color: #409eff">派车详情></div>
  499. </div>
  500. </div>
  501. </chi-card>
  502. <chi-card
  503. title="新闻公告"
  504. iconName="el-icon-s-cooperation"
  505. :More="true"
  506. >
  507. <div slot="content" style="height: 260px">
  508. <div
  509. style="padding: 4px 15px; font-size: 14px"
  510. v-for="(item, index) in tableDataTwo"
  511. :key="index"
  512. :style="{
  513. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  514. }"
  515. >
  516. {{ item.noticeTitle }}
  517. </div>
  518. </div>
  519. </chi-card>
  520. </div>
  521. <div class="home-right">
  522. <chi-card title="运行车辆" iconName="el-icon-s-order" :More="true">
  523. <div slot="content" class="upper-right">
  524. <div
  525. style="display: flex; padding: 4px 15px; font-size: 14px"
  526. v-for="(item, index) in upperRights"
  527. :key="index"
  528. :style="{
  529. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  530. }"
  531. >
  532. <div style="width: 30%" @click="goPage(item.id)">
  533. <el-link type="primary" :underline="false">{{
  534. item.mblno
  535. }}</el-link>
  536. </div>
  537. <div style="width: 20%">{{ item.carregNo }}</div>
  538. <div style="width: 15%; color: #67c23a">
  539. {{ item.orderStatus | statusType }}
  540. </div>
  541. <div
  542. style="
  543. width: 35%;
  544. overflow: hidden;
  545. text-overflow: ellipsis;
  546. white-space: nowrap;
  547. "
  548. >
  549. {{ item.corpName }}
  550. </div>
  551. </div>
  552. </div>
  553. </chi-card>
  554. <chi-card title="业务待办" iconName="el-icon-s-order" :More="true">
  555. <div slot="content" class="upper-right2">
  556. <div
  557. style="
  558. font-size: 14px;
  559. display: flex;
  560. margin: 4px 15px;
  561. border-bottom: 1px dashed #e6ebf5;
  562. "
  563. >
  564. <div style="width: 30%" class="single_line">FK221516485645</div>
  565. <div style="width: 20%" class="single_line">运费运费运费</div>
  566. <div style="width: 15%" class="single_line">李刚</div>
  567. <div style="width: 15%; color: #67c23a" class="single_line">
  568. 待审批
  569. </div>
  570. <div style="width: 20%" class="single_line">2020/10/10</div>
  571. </div>
  572. <div style="font-size: 14px; display: flex; margin: 4px 15px">
  573. <div style="width: 30%" class="single_line">FK221516485645</div>
  574. <div style="width: 20%" class="single_line">运费运费运费</div>
  575. <div style="width: 15%" class="single_line">李刚</div>
  576. <div style="width: 15%; color: #67c23a" class="single_line">
  577. 待审批
  578. </div>
  579. <div style="width: 20%" class="single_line">2020/10/10</div>
  580. </div>
  581. </div>
  582. </chi-card>
  583. <chi-card title="审核列表" iconName="el-icon-s-order" :More="true">
  584. <div slot="content" class="upper-right2">
  585. <div
  586. style="
  587. font-size: 14px;
  588. display: flex;
  589. margin: 4px 15px;
  590. border-bottom: 1px dashed #e6ebf5;
  591. "
  592. >
  593. <div style="width: 30%" class="single_line">FK221516485645</div>
  594. <div style="width: 20%" class="single_line">运费运费运费</div>
  595. <div style="width: 15%" class="single_line">李刚</div>
  596. <div style="width: 15%; color: #67c23a">待审批</div>
  597. <div style="width: 20%" class="single_line">2020/10/10</div>
  598. </div>
  599. <div style="font-size: 14px; display: flex; margin: 4px 15px">
  600. <div style="width: 30%" class="single_line">FK221516485645</div>
  601. <div style="width: 20%" class="single_line">运费运费运费</div>
  602. <div style="width: 15%" class="single_line">李刚</div>
  603. <div style="width: 15%; color: #67c23a" class="single_line">
  604. 待审批
  605. </div>
  606. <div style="width: 20%" class="single_line">2020/10/10</div>
  607. </div>
  608. </div>
  609. </chi-card>
  610. </div>
  611. </div>
  612. <div v-if="sysType == 3">
  613. <div style="width: 100%;">
  614. <div id="distribution" style="width: 100%;height: 300px;"></div>
  615. </div>
  616. <div style="width: 100%;margin: 20px auto;float: left">
  617. <div style="width: 49%;float: left">
  618. <el-table
  619. :data="bookingData"
  620. style="width: 100%">
  621. <el-table-column
  622. prop="acc"
  623. align="center"
  624. label="船名航次">
  625. </el-table-column>
  626. <el-table-column
  627. prop="bcc"
  628. align="center"
  629. label="开船日期">
  630. </el-table-column>
  631. <el-table-column
  632. prop="caa"
  633. align="center"
  634. label="预装TEU">
  635. </el-table-column>
  636. <el-table-column
  637. prop="baa"
  638. align="center"
  639. label="装载TEU">
  640. </el-table-column>
  641. </el-table>
  642. </div>
  643. <div style="width: 47%;float: right">
  644. <el-table
  645. :data="bookingData"
  646. style="width: 100%">
  647. <el-table-column
  648. prop="acc"
  649. align="center"
  650. label="船名航次">
  651. </el-table-column>
  652. <el-table-column
  653. prop="bcc"
  654. align="center"
  655. label="开船日期">
  656. </el-table-column>
  657. <el-table-column
  658. prop="bcc"
  659. align="center"
  660. label="到港日期">
  661. </el-table-column>
  662. </el-table>
  663. </div>
  664. </div>
  665. <div style="width: 100%;">
  666. <div style="width: 49%;float: left">
  667. <div
  668. style="
  669. display: flex;
  670. color: #515a6e;
  671. font-weight: 600;
  672. background-color: #f8f8f9;
  673. height: 42.6px;
  674. font-size: 13px;
  675. justify-content: space-between;
  676. border-bottom: 1px dashed #dfe6ec;
  677. "
  678. >
  679. <div class="home_stock_table">委托方</div>
  680. <div class="home_stock_table">日期</div>
  681. <div class="home_stock_table">提单号</div>
  682. <div class="home_stock_table">业务类型</div>
  683. <div class="home_stock_table_right">
  684. <div>操作</div>
  685. <el-link type="primary" @click="jump('/morePage/stock')"
  686. >更多></el-link
  687. >
  688. </div>
  689. </div>
  690. <div v-if="tableData.length > 0">
  691. <div
  692. style="display: flex;height: 42.6px;border-bottom: 1px dashed #dfe6ec;"
  693. v-for="(item, index) in tableData"
  694. v-if="index < 5"
  695. :key="index"
  696. >
  697. <div class="home_stock_table"> <p>{{ item.refno1 }}</p></div>
  698. <div class="home_stock_table">
  699. {{ item.sendTime ? item.sendTime.slice(0, 10):'' }}
  700. </div>
  701. <div class="home_stock_table"><p>{{ item.refno3 ? item.refno3 : item.billNo }}</p></div>
  702. <div class="home_stock_table">
  703. <span v-if="item.refno2 === 'SJRK'">入库</span>
  704. <span v-else-if="item.refno2 === 'SJCK'">出库</span>
  705. <span v-else-if="item.refno2 === 'HQZY'">货转</span>
  706. <span v-else-if="item.refno2 === 'CKDB'">调拨</span>
  707. <span v-else-if="item.refno2 === 'CCF'">仓储费</span>
  708. <span v-else-if="item.refno2 === 'HWTG'">货物通关</span>
  709. <span v-else-if="item.refno2 === 'ZYF'">作业费</span>
  710. <span v-else-if="item.refno2 === 'SF'">收费</span>
  711. <span v-else-if="item.refno2 === 'DZ'">对账</span>
  712. <span v-else-if="item.refno2 === 'FF'">付费</span>
  713. <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
  714. <span v-else-if="item.refno2 === 'KHDZ'">凯和对账</span>
  715. <span v-else-if="item.refno2 === 'KHSF'">凯和收费</span>
  716. <span v-else-if="item.refno2 === 'KHFF'">凯和付费</span>
  717. <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
  718. <span v-else-if="item.refno2 === 'KHDD'">凯合订单</span>
  719. <span v-else-if="item.refno2 === 'SE'">下单配船</span>
  720. </div>
  721. <div class="home_stock_table" @click="approval(item)">
  722. 立即审批
  723. </div>
  724. </div>
  725. </div>
  726. <div
  727. v-else
  728. style="
  729. display: flex;
  730. justify-content: center;
  731. height: 213px;
  732. border-bottom: 1px solid #dfe6ec;
  733. "
  734. >
  735. <div style="align-self: center; color: #909399; font-size: 14px">
  736. 暂无数据
  737. </div>
  738. </div>
  739. </div>
  740. <div style="width: 49%;height: 200px;float: right">
  741. <el-table
  742. :data="tableDataTwo"
  743. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  744. :cell-style="cellStyle"
  745. style="margin-left: 20px"
  746. >
  747. <el-table-column
  748. prop="noticeTitle"
  749. :show-overflow-tooltip="true"
  750. label="消息中心"
  751. />
  752. <el-table-column prop="address" label="操作" width="80">
  753. <template slot-scope="scope">
  754. <span
  755. @click="querytoDo(scope.row.noticeContent)"
  756. style="cursor: pointer"
  757. >查看详情</span
  758. >
  759. </template>
  760. </el-table-column>
  761. </el-table>
  762. </div>
  763. </div>
  764. <div style="width: 100%;margin: 10px auto;float: left">
  765. <div id="bookingRanking" style="width: 100%;height: 300px;"></div>
  766. </div>
  767. </div>
  768. </div>
  769. </template>
  770. <script>
  771. import { queryHomeInfo } from "@/api/fleet/home";
  772. import chiCard from "./chiCard.vue";
  773. import {
  774. listCorps,
  775. information,
  776. warehouse,
  777. inquiry,
  778. } from "../../src/api/index";
  779. import Cookies from "js-cookie";
  780. export default {
  781. name: "index",
  782. data() {
  783. return {
  784. bookingData:[
  785. {acc:'T00345',bcc:'2020-5-12',caa:'BUGASD',baa:'ECCC-099897'},
  786. {acc:'T00345',bcc:'2020-5-02',caa:'BUGASD',baa:'ECCC-099897'},
  787. {acc:'T00345',bcc:'2020-5-05',caa:'BUGASD',baa:'ECCC-099897'},
  788. {acc:'T00345',bcc:'2020-5-09',caa:'BUGASD',baa:'ECCC-099897'}
  789. ],
  790. editModel: {},
  791. // 版本号
  792. version: "3.2.1",
  793. select: "",
  794. text: "",
  795. dialogVisible: false,
  796. tableData: [],
  797. chart: [],
  798. warehouse: [],
  799. master: [],
  800. commodity: [],
  801. commoditytwo: [],
  802. name: [],
  803. tableDataTwo: [],
  804. fleetData: "",
  805. upperLeftCntrs: {},
  806. sysType: "",
  807. upperRights: [],
  808. };
  809. },
  810. filters: {
  811. statusType(val) {
  812. switch (val) {
  813. case 10:
  814. return "车队安排";
  815. break;
  816. case 20:
  817. return "司机受理";
  818. break;
  819. case 30:
  820. return "司机出车";
  821. break;
  822. case 40:
  823. return "提箱";
  824. break;
  825. case 50:
  826. return "装卸货";
  827. break;
  828. case 60:
  829. return "还卸柜";
  830. break;
  831. case 70:
  832. return "费用确认";
  833. break;
  834. default:
  835. return "回单";
  836. }
  837. },
  838. },
  839. components: {
  840. chiCard,
  841. },
  842. created() {
  843. queryHomeInfo().then((response) => {
  844. this.fleetData = response.data;
  845. if (response.data.upperRight.length > 0) {
  846. this.upperRights = response.data.upperRight.slice(0, 10);
  847. }
  848. this.upperLeftCntrs = response.data.upperLeftCntrs;
  849. });
  850. this.sysType = Cookies.get("sysType");
  851. console.log(this.sysType);
  852. },
  853. activated() {
  854. this.getList();
  855. this.warehouses();
  856. this.inquiry();
  857. this.boxDistribution()
  858. this.ranking()
  859. },
  860. methods: {
  861. //箱分布图表
  862. ranking() {
  863. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  864. let myChart = this.$echarts.init(document.getElementById("bookingRanking"));
  865. // 绘制图表
  866. myChart.setOption({
  867. title: {
  868. text: "订舱排名",
  869. left: "center",
  870. },
  871. xAxis: {
  872. type: 'category',
  873. data: ['中国国贸集团', '赛轮集团', '金宇集团', '利群集团', '中华集团', '腾讯集团', '网易公司']
  874. },
  875. yAxis: {
  876. type: 'value'
  877. },
  878. series: [{
  879. data: [150, 230, 224, 218, 135, 147, 260],
  880. type: 'line'
  881. }]
  882. });
  883. },
  884. //箱分布图表
  885. boxDistribution() {
  886. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  887. let myChart = this.$echarts.init(document.getElementById("distribution"));
  888. // 绘制图表
  889. myChart.setOption({
  890. title: {
  891. text: "箱分布",
  892. left: "center",
  893. },
  894. xAxis: {
  895. type: 'category',
  896. data: ['北京', '上海', '天津', '青岛', '深圳', '西安', '甘肃']
  897. },
  898. tooltip: {
  899. trigger: 'axis'
  900. },
  901. yAxis: {
  902. type: 'value'
  903. },
  904. toolbox: {
  905. feature: {
  906. saveAsImage: {}
  907. }
  908. },
  909. series: [{
  910. data: [150, 230, 224, 218, 135, 147, 260],
  911. type: 'line'
  912. }]
  913. });
  914. },
  915. goPage(id) {
  916. this.$router.push({
  917. path: "/track/cabinet",
  918. query: { id: id },
  919. });
  920. },
  921. //跳转审批页面
  922. approval(row) {
  923. switch (row.refno2) {
  924. case "SJRK": {
  925. this.$router.push({
  926. path: "/business/inStock",
  927. query: { data: JSON.stringify(row) },
  928. });
  929. break;
  930. }
  931. case "SJCK": {
  932. this.$router.push({
  933. path: "/business/outStock",
  934. query: { data: JSON.stringify(row) },
  935. });
  936. break;
  937. }
  938. case "HQZY": {
  939. this.$router.push({
  940. path: "/business/goodsTransfer",
  941. query: { data: JSON.stringify(row) },
  942. });
  943. break;
  944. }
  945. case "CKDB": {
  946. this.$router.push({
  947. path: "/business/stockTransfer",
  948. query: { data: JSON.stringify(row) },
  949. });
  950. break;
  951. }
  952. case "HWTG": {
  953. this.$router.push({
  954. path: "/business/cargoClearance",
  955. query: { data: JSON.stringify(row) },
  956. });
  957. break;
  958. }
  959. case "JSCCF": {
  960. this.$router.push({
  961. path: "/business/agreement",
  962. query: { data: JSON.stringify(row) },
  963. });
  964. break;
  965. }
  966. case "CCF": {
  967. this.$router.push({
  968. path: "/agreement/agreementStorage",
  969. query: { data: JSON.stringify(row) },
  970. });
  971. break;
  972. }
  973. case "ZYF": {
  974. this.$router.push({
  975. path: "/agreement/agreementTask",
  976. query: { data: JSON.stringify(row) },
  977. });
  978. break;
  979. }
  980. case "SF": {
  981. this.$router.push({
  982. path: "/finance/charge",
  983. query: { data: JSON.stringify(row) },
  984. });
  985. break;
  986. }
  987. case "DZ": {
  988. this.$router.push({
  989. path: "/finance/contrast",
  990. query: { data: JSON.stringify(row) },
  991. });
  992. break;
  993. }
  994. case "FF": {
  995. this.$router.push({
  996. path: "/finance/payment",
  997. query: { data: JSON.stringify(row) },
  998. });
  999. break;
  1000. }
  1001. case "ApplyFP": {
  1002. this.$router.push({
  1003. path: "/finance/chargeInvoice",
  1004. query: { data: JSON.stringify(row) },
  1005. });
  1006. break;
  1007. }
  1008. case "KHDZ": {
  1009. this.$router.push({
  1010. path: "/finance/contrast",
  1011. query: { data: JSON.stringify(row) },
  1012. });
  1013. break;
  1014. }
  1015. case "KHSF": {
  1016. this.$router.push({
  1017. path: "/finance/charge",
  1018. query: { data: JSON.stringify(row) },
  1019. });
  1020. break;
  1021. }
  1022. case "KHFF": {
  1023. this.$router.push({
  1024. path: "/finance/payment",
  1025. query: { data: JSON.stringify(row) },
  1026. });
  1027. break;
  1028. }
  1029. case "KHDD": {
  1030. this.$router.push({
  1031. path: "/domesticTrade/orderInformation",
  1032. query: { list: JSON.stringify(row) },
  1033. });
  1034. break;
  1035. }
  1036. default: {
  1037. return this.$message.error("未知错误,无状态");
  1038. }
  1039. }
  1040. },
  1041. inquiry() {
  1042. let data = {
  1043. actId: "",
  1044. };
  1045. inquiry(data).then((res) => {
  1046. res.data.map(e=>{
  1047. if(e.auditItem){
  1048. e.auditItem=e.auditItem.slice(0, 10)
  1049. }
  1050. })
  1051. this.tableData = res.data;
  1052. });
  1053. },
  1054. querytoDo(res) {
  1055. this.dialogVisible = true;
  1056. this.text = res;
  1057. },
  1058. handleClose(done) {
  1059. this.dialogVisible = false;
  1060. },
  1061. firstinventory(fId) {
  1062. console.log(this.warehouse);
  1063. information(fId).then((response) => {
  1064. this.chart = response.data;
  1065. if (this.chart.whouseList.length !== 0) {
  1066. for (let index of this.chart.corpsListWhouse) {
  1067. this.master.push({
  1068. name: index.fName,
  1069. value: index.fGrossweightD,
  1070. });
  1071. this.name.push(index.fName);
  1072. }
  1073. for (let index of this.chart.goodslistWhouse) {
  1074. this.commodity.push(index.fName);
  1075. this.commoditytwo.push(index.fGrossweightD);
  1076. }
  1077. this.drawLine();
  1078. this.drawLinetwo();
  1079. this.commoDity();
  1080. } else {
  1081. this.chart = {
  1082. corpsListWhouse: [
  1083. {
  1084. balance: 0,
  1085. fCorpid: 58,
  1086. fGrossweightD: 0,
  1087. fName: "展示数据",
  1088. fTotalgross: 10000,
  1089. fWarehouseName: "展示数据",
  1090. },
  1091. ],
  1092. goodslistWhouse: [
  1093. {
  1094. balance: 0,
  1095. fGoodsid: 13,
  1096. fGrossweightD: 0,
  1097. fName: "展示商品",
  1098. fTotalgross: 10000,
  1099. fWarehouseName: "展示数据",
  1100. },
  1101. ],
  1102. whouseList: [
  1103. {
  1104. fGrossweightD: 0,
  1105. fName: "展示数据",
  1106. fTotalgross: 10000,
  1107. fWarehouseid: 36,
  1108. },
  1109. ],
  1110. };
  1111. for (let index of this.chart.corpsListWhouse) {
  1112. this.master.push({
  1113. name: index.fName,
  1114. value: index.fGrossweightD,
  1115. });
  1116. this.name.push(index.fName);
  1117. }
  1118. for (let index of this.chart.goodslistWhouse) {
  1119. this.commodity.push(index.fName);
  1120. this.commoditytwo.push(index.fGrossweightD);
  1121. }
  1122. this.drawLine();
  1123. this.drawLinetwo();
  1124. this.commoDity();
  1125. }
  1126. });
  1127. },
  1128. query() {
  1129. this.master = [];
  1130. this.commodity = [];
  1131. this.commoditytwo = [];
  1132. this.name = [];
  1133. if (this.select === "") {
  1134. return this.select;
  1135. } else {
  1136. information(this.select).then((response) => {
  1137. this.chart = response.data;
  1138. for (let index of this.chart.corpsListWhouse) {
  1139. this.master.push({
  1140. name: index.fName,
  1141. value: index.fGrossweightD,
  1142. });
  1143. this.name.push(index.fName);
  1144. }
  1145. for (let index of this.chart.goodslistWhouse) {
  1146. this.commodity.push(index.fName);
  1147. this.commoditytwo.push(index.fGrossweightD);
  1148. }
  1149. this.drawLine();
  1150. this.drawLinetwo();
  1151. this.commoDity();
  1152. });
  1153. }
  1154. },
  1155. jump(res) {
  1156. this.$router.push({ path: res });
  1157. },
  1158. //设置单元格边框
  1159. cellStyle({ row, column, rowIndex, columnIndex }) {
  1160. return "border-bottom: 1px dashed rgb(223, 230, 236)";
  1161. },
  1162. //查询消息中心
  1163. getList() {
  1164. this.loading = true;
  1165. listCorps(this.queryParams).then((response) => {
  1166. if (response.rows.length > 0) {
  1167. this.tableDataTwo = response.rows.slice(0, 10);
  1168. }
  1169. });
  1170. },
  1171. //查询仓库
  1172. warehouses() {
  1173. warehouse().then((response) => {
  1174. this.warehouse = [];
  1175. for (let index of response.rows) {
  1176. this.warehouse.push({
  1177. fName: index.fName,
  1178. fWarehouseid: index.fWarehouseid,
  1179. });
  1180. }
  1181. console.log(this.warehouse);
  1182. this.firstinventory(this.warehouse[0].fWarehouseid);
  1183. });
  1184. },
  1185. goTarget(href) {
  1186. window.open(href, "_blank");
  1187. },
  1188. //仓库图表
  1189. drawLine() {
  1190. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1191. let myChart = this.$echarts.init(document.getElementById("box"));
  1192. // 绘制图表
  1193. myChart.setOption({
  1194. title: {
  1195. text: this.chart.whouseList[0].fName + "统计",
  1196. subtext: "实时数据",
  1197. left: "center",
  1198. },
  1199. tooltip: {
  1200. trigger: "item",
  1201. formatter: "{a} <br/>{b} : {c} ({d}%)",
  1202. },
  1203. legend: {
  1204. bottom: 10,
  1205. left: "center",
  1206. data: ["空闲库容", "占用库容"],
  1207. },
  1208. series: [
  1209. {
  1210. type: "pie",
  1211. name: "实时数据",
  1212. radius: "65%",
  1213. center: ["50%", "50%"],
  1214. selectedMode: "single",
  1215. data: [
  1216. {
  1217. label: {
  1218. backgroundColor: "#eee",
  1219. borderColor: "#777",
  1220. borderWidth: 1,
  1221. borderRadius: 4,
  1222. rich: {
  1223. title: {
  1224. color: "#eee",
  1225. align: "center",
  1226. },
  1227. abg: {
  1228. backgroundColor: "#333",
  1229. width: "100%",
  1230. align: "right",
  1231. height: 25,
  1232. borderRadius: [4, 4, 0, 0],
  1233. },
  1234. Sunny: {
  1235. height: 30,
  1236. align: "left",
  1237. },
  1238. Cloudy: {
  1239. height: 30,
  1240. align: "left",
  1241. },
  1242. Showers: {
  1243. height: 30,
  1244. align: "left",
  1245. },
  1246. weatherHead: {
  1247. color: "#333",
  1248. height: 24,
  1249. align: "left",
  1250. },
  1251. hr: {
  1252. borderColor: "#777",
  1253. width: "100%",
  1254. borderWidth: 0.5,
  1255. height: 0,
  1256. },
  1257. value: {
  1258. width: 20,
  1259. padding: [0, 20, 0, 30],
  1260. align: "left",
  1261. },
  1262. valueHead: {
  1263. color: "#333",
  1264. width: 20,
  1265. padding: [0, 20, 0, 30],
  1266. align: "center",
  1267. },
  1268. rate: {
  1269. width: 40,
  1270. align: "right",
  1271. padding: [0, 10, 0, 0],
  1272. },
  1273. rateHead: {
  1274. color: "#333",
  1275. width: 40,
  1276. align: "center",
  1277. padding: [0, 10, 0, 0],
  1278. },
  1279. },
  1280. },
  1281. },
  1282. {
  1283. value: this.chart.whouseList[0].fGrossweightD,
  1284. name: "占用库容",
  1285. },
  1286. {
  1287. value: parseFloat(
  1288. this.chart.whouseList[0].fTotalgross -
  1289. this.chart.whouseList[0].fGrossweightD
  1290. ).toFixed(1),
  1291. name: "空闲库容",
  1292. },
  1293. ],
  1294. emphasis: {
  1295. itemStyle: {
  1296. shadowBlur: 10,
  1297. shadowOffsetX: 0,
  1298. shadowColor: "rgba(0, 0, 0, 0.5)",
  1299. },
  1300. },
  1301. },
  1302. ],
  1303. });
  1304. },
  1305. drawLinetwo() {
  1306. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1307. let myChart = this.$echarts.init(document.getElementById("cargoOwner"));
  1308. // 绘制图表
  1309. myChart.setOption({
  1310. title: {
  1311. text: this.chart.whouseList[0].fName + "货权方统计",
  1312. subtext: "实时数据",
  1313. left: "center",
  1314. },
  1315. tooltip: {
  1316. trigger: "item",
  1317. formatter: "{a} <br/>{b}: {c} ({d}%)",
  1318. },
  1319. legend: {
  1320. bottom: 10,
  1321. left: "center",
  1322. data: this.name,
  1323. },
  1324. series: [
  1325. {
  1326. name: "访问来源",
  1327. type: "pie",
  1328. radius: ["40%", "60%"],
  1329. avoidLabelOverlap: false,
  1330. label: {
  1331. show: false,
  1332. position: "center",
  1333. },
  1334. emphasis: {
  1335. label: {
  1336. // show: true,
  1337. fontSize: "30",
  1338. fontWeight: "bold",
  1339. },
  1340. },
  1341. labelLine: {
  1342. show: false,
  1343. },
  1344. data: this.master,
  1345. },
  1346. ],
  1347. });
  1348. },
  1349. commoDity() {
  1350. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1351. let myChart = this.$echarts.init(document.getElementById("commoDity"));
  1352. // 绘制图表
  1353. myChart.setOption({
  1354. title: {
  1355. text: this.chart.whouseList[0].fName + "商品统计",
  1356. subtext: "实时数据",
  1357. left: "center",
  1358. },
  1359. color: ["#3398DB"],
  1360. tooltip: {
  1361. trigger: "axis",
  1362. axisPointer: {
  1363. // 坐标轴指示器,坐标轴触发有效
  1364. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  1365. },
  1366. },
  1367. grid: {
  1368. left: "3%",
  1369. right: "4%",
  1370. bottom: "3%",
  1371. containLabel: true,
  1372. },
  1373. xAxis: [
  1374. {
  1375. type: "category",
  1376. data: this.commodity,
  1377. axisTick: {
  1378. alignWithLabel: true,
  1379. },
  1380. },
  1381. ],
  1382. yAxis: [
  1383. {
  1384. type: "value",
  1385. },
  1386. ],
  1387. series: [
  1388. {
  1389. name: "实时状态",
  1390. type: "bar",
  1391. barWidth: "60%",
  1392. data: this.commoditytwo,
  1393. },
  1394. ],
  1395. });
  1396. },
  1397. },
  1398. };
  1399. </script>
  1400. <style scoped lang="scss">
  1401. .block {
  1402. width: 100%;
  1403. display: flex;
  1404. flex-wrap: wrap;
  1405. justify-content: space-around;
  1406. li:hover {
  1407. background-color: #025184;
  1408. }
  1409. li:nth-child(6),
  1410. li:nth-child(7),
  1411. li:nth-child(8),
  1412. li:nth-child(9),
  1413. li:nth-child(10) {
  1414. background-color: #2f4554;
  1415. }
  1416. li:nth-child(6):hover,
  1417. li:nth-child(7):hover,
  1418. li:nth-child(8):hover,
  1419. li:nth-child(9):hover,
  1420. li:nth-child(10):hover {
  1421. background-color: #2f4454d1;
  1422. }
  1423. li {
  1424. width: 18%;
  1425. height: 150px;
  1426. background-color: #1c84c6;
  1427. margin-left: 10px;
  1428. text-align: center;
  1429. color: #ffffff;
  1430. border-radius: 10px;
  1431. cursor: pointer;
  1432. margin-bottom: 15px;
  1433. div {
  1434. margin-top: 40px;
  1435. p {
  1436. font-size: 20px;
  1437. }
  1438. }
  1439. }
  1440. }
  1441. .home {
  1442. blockquote {
  1443. padding: 10px 20px;
  1444. margin: 0 0 20px;
  1445. font-size: 17.5px;
  1446. border-left: 5px solid #eee;
  1447. }
  1448. hr {
  1449. margin-top: 20px;
  1450. margin-bottom: 20px;
  1451. border: 0;
  1452. border-top: 1px solid #eee;
  1453. }
  1454. .col-item {
  1455. margin-bottom: 20px;
  1456. }
  1457. ul {
  1458. padding: 0;
  1459. margin: 0;
  1460. }
  1461. font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  1462. font-size: 13px;
  1463. color: #676a6c;
  1464. overflow-x: hidden;
  1465. ul {
  1466. list-style-type: none;
  1467. }
  1468. h4 {
  1469. margin-top: 0px;
  1470. }
  1471. h2 {
  1472. margin-top: 10px;
  1473. font-size: 26px;
  1474. font-weight: 100;
  1475. }
  1476. p {
  1477. margin-top: 10px;
  1478. b {
  1479. font-weight: 700;
  1480. }
  1481. }
  1482. .update-log {
  1483. ol {
  1484. display: block;
  1485. list-style-type: decimal;
  1486. margin-block-start: 1em;
  1487. margin-block-end: 1em;
  1488. margin-inline-start: 0;
  1489. margin-inline-end: 0;
  1490. padding-inline-start: 40px;
  1491. }
  1492. }
  1493. }
  1494. .home-fleet {
  1495. display: flex;
  1496. .home-left {
  1497. width: 40%;
  1498. padding: 0 10px;
  1499. }
  1500. .home-right {
  1501. width: 60%;
  1502. padding: 0 10px;
  1503. }
  1504. .content-top {
  1505. display: flex;
  1506. .content-top-left {
  1507. display: flex;
  1508. width: 50%;
  1509. height: 100px;
  1510. border-bottom: 1px solid #e6ebf5;
  1511. border-right: 1px solid #e6ebf5;
  1512. padding: 10px;
  1513. justify-content: space-between;
  1514. }
  1515. .content-top-right {
  1516. display: flex;
  1517. width: 50%;
  1518. height: 100px;
  1519. border-bottom: 1px solid #e6ebf5;
  1520. padding: 10px;
  1521. justify-content: space-between;
  1522. }
  1523. }
  1524. .content-bottom {
  1525. display: flex;
  1526. height: 81px;
  1527. border-bottom: 1px solid #e6ebf5;
  1528. padding: 10px;
  1529. justify-content: space-between;
  1530. }
  1531. .content-bottom:last-child {
  1532. border-bottom: 0px;
  1533. }
  1534. .upper-right {
  1535. padding: 10px 0;
  1536. height: 260px;
  1537. }
  1538. .upper-right2 {
  1539. padding: 10px 0;
  1540. height: 104px;
  1541. }
  1542. }
  1543. .single_line {
  1544. overflow: hidden;
  1545. text-overflow: ellipsis;
  1546. white-space: nowrap;
  1547. }
  1548. @media screen and (max-width: 920px) {
  1549. .home-fleet {
  1550. display: flex;
  1551. flex-direction: column;
  1552. .home-left {
  1553. width: 100%;
  1554. }
  1555. .home-right {
  1556. width: 100%;
  1557. }
  1558. }
  1559. }
  1560. </style>
  1561. <style lang="scss">
  1562. .text img {
  1563. max-width: 100%;
  1564. height: auto;
  1565. }
  1566. .home_stock_table {
  1567. display: flex;
  1568. width: 20%;
  1569. justify-content: center;
  1570. align-self: center;
  1571. p{
  1572. display: inline-block;
  1573. white-space: nowrap;
  1574. width: 100%;
  1575. overflow: hidden;
  1576. text-overflow:ellipsis;
  1577. }
  1578. }
  1579. .home_stock_table:hover{
  1580. color: #1c84c6;
  1581. cursor:pointer
  1582. }
  1583. .home_stock_table_right {
  1584. display: flex;
  1585. width: 20%;
  1586. justify-content: space-around;
  1587. align-self: center;
  1588. }
  1589. </style>