index.vue 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157
  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: 25px; text-align: center"
  12. ></i>
  13. </div>
  14. <p>常规入库</p>
  15. </li>
  16. <li @click="jump('/business/outStock')">
  17. <div>
  18. <i
  19. class="el-icon-upload2"
  20. style="font-size: 25px; text-align: center"
  21. ></i>
  22. </div>
  23. <p>常规出库</p>
  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/goodsTransfer')">
  44. <div>
  45. <i
  46. class="el-icon-takeaway-box"
  47. style="font-size: 25px; text-align: center"
  48. ></i>
  49. </div>
  50. <p>货权转移</p>
  51. </li>
  52. <li @click="jump('/business/stockTransfer')">
  53. <div>
  54. <i
  55. class="el-icon-connection"
  56. style="font-size: 25px; text-align: center"
  57. ></i>
  58. </div>
  59. <p>库间调拨</p>
  60. </li>
  61. <li @click="smartScreen()">
  62. <div>
  63. <i
  64. class="el-icon-s-order"
  65. style="font-size: 25px; text-align: center"
  66. ></i>
  67. </div>
  68. <p>数据中心</p>
  69. </li>
  70. <li @click="jump('/finance/charge')">
  71. <div>
  72. <i
  73. class="el-icon-wallet"
  74. style="font-size: 25px; text-align: center"
  75. ></i>
  76. </div>
  77. <p>收款</p>
  78. </li>
  79. <li @click="jump('/finance/payment')">
  80. <div>
  81. <i
  82. class="el-icon-money"
  83. style="font-size: 25px; text-align: center"
  84. ></i>
  85. </div>
  86. <p>付款</p>
  87. </li>
  88. <li @click="jump('/finance/contrast')">
  89. <div>
  90. <i
  91. class="el-icon-s-management"
  92. style="font-size: 25px; text-align: center"
  93. ></i>
  94. </div>
  95. <p>对账</p>
  96. </li>
  97. <!-- <li @click="jump('/business/goodsTransfer')">-->
  98. <!-- <div>-->
  99. <!-- <i-->
  100. <!-- class="el-icon-takeaway-box"-->
  101. <!-- style="font-size: 50px; text-align: center"-->
  102. <!-- ></i>-->
  103. <!-- <p>货转</p>-->
  104. <!-- </div>-->
  105. <!-- </li>-->
  106. <!-- <li @click="jump('/agreement/agreementStorage')">-->
  107. <!-- <div>-->
  108. <!-- <i-->
  109. <!-- class="el-icon-s-order"-->
  110. <!-- style="font-size: 50px; text-align: center"-->
  111. <!-- ></i>-->
  112. <!-- <p>协议</p>-->
  113. <!-- </div>-->
  114. <!-- </li>-->
  115. <li @click="openDialog('inStock')">
  116. <div>
  117. <i
  118. class="el-icon-s-unfold"
  119. style="font-size: 25px; text-align: center"
  120. ></i>
  121. </div>
  122. <p>快速入库</p>
  123. </li>
  124. <li @click="openDialog('outStock')">
  125. <div>
  126. <i
  127. class="el-icon-s-fold"
  128. style="font-size: 25px; text-align: center"
  129. ></i>
  130. </div>
  131. <p>快速出库</p>
  132. </li>
  133. </ul>
  134. <el-table
  135. ref="remind"
  136. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  137. :cell-style="cellStyle"
  138. :data="remindList"
  139. height="280"
  140. >
  141. <el-table-column :show-overflow-tooltip="true" label="协议到期 客户" prop="fCorpid">
  142. </el-table-column>
  143. <el-table-column :show-overflow-tooltip="true" label="开始日期" prop="fBegindate">
  144. </el-table-column>
  145. <el-table-column :show-overflow-tooltip="true" label="结束日期" prop="fEnddate">
  146. </el-table-column>
  147. <el-table-column :show-overflow-tooltip="true" label="类型" prop="fFeetypeid">
  148. <template slot-scope="scope">
  149. {{ scope.row.fFeetypeid == 0? '仓储费协议': '作业费协议' }}
  150. </template>
  151. </el-table-column>
  152. </el-table>
  153. </div>
  154. <div style="width: 30%">
  155. <div style="width: 100%">
  156. <div style="display: flex">
  157. <div id="box" style="width: 100%; height: 350px"></div>
  158. <el-select
  159. v-model="select"
  160. slot="prepend"
  161. size="mini"
  162. :select="query()"
  163. placeholder="点击切换仓库"
  164. style="position: absolute; width: 8%; right: 1%"
  165. >
  166. <div v-for="(item, index) in warehouse" :key="index">
  167. <el-option
  168. :label="item.fName"
  169. :value="item.fWarehouseid"
  170. ></el-option>
  171. </div>
  172. </el-select>
  173. </div>
  174. </div>
  175. </div>
  176. </div>
  177. <div style="display: flex; margin-bottom: 40px">
  178. <div style="width: 70%">
  179. <div>
  180. <div
  181. style="
  182. display: flex;
  183. color: #515a6e;
  184. font-weight: 600;
  185. background-color: #f8f8f9;
  186. height: 42.6px;
  187. font-size: 13px;
  188. justify-content: space-between;
  189. border-bottom: 1px dashed #dfe6ec;
  190. "
  191. >
  192. <div class="home_stock_table">委托方</div>
  193. <div class="home_stock_table">日期</div>
  194. <div class="home_stock_table">提单号</div>
  195. <div class="home_stock_table">业务类型</div>
  196. <div class="home_stock_table_right">
  197. <div>操作</div>
  198. <el-link type="primary" @click="jump('/morePage/stock')"
  199. >更多></el-link
  200. >
  201. </div>
  202. </div>
  203. <div v-if="tableData.length > 0">
  204. <div
  205. style="
  206. display: flex;
  207. height: 42.6px;
  208. border-bottom: 1px dashed #dfe6ec;
  209. "
  210. v-for="(item, index) in tableData"
  211. :key="index"
  212. v-if="index<5"
  213. >
  214. <div class="home_stock_table"> <p>{{ item.refno1 }}</p></div>
  215. <div class="home_stock_table">
  216. {{ item.sendTime ? item.sendTime.slice(0,10) : item.sendTime}}
  217. </div>
  218. <div class="home_stock_table" @click="approval(item)"><p style="text-align: center;">{{ item.refno3 }}</p></div>
  219. <div class="home_stock_table">
  220. <span v-if="item.refno2 === 'SJRK'">入库</span>
  221. <span v-else-if="item.actId === 1000">费用修改</span>
  222. <span v-else-if="item.refno2 === 'CDZZ'">场地直装</span>
  223. <span v-else-if="item.refno2 === 'SJCK'">出库</span>
  224. <span v-else-if="item.refno2 === 'HQZY'">货转</span>
  225. <span v-else-if="item.refno2 === 'CKDB'">调拨</span>
  226. <span v-else-if="item.refno2 === 'CCF'">仓储费</span>
  227. <span v-else-if="item.refno2 === 'HWTG'">货物通关</span>
  228. <span v-else-if="item.refno2 === 'ZYF'">作业费</span>
  229. <span v-else-if="item.refno2 === 'SF'">收费</span>
  230. <span v-else-if="item.refno2 === 'DZ'">对账</span>
  231. <span v-else-if="item.refno2 === 'FF'">付费</span>
  232. <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
  233. <span v-else-if="item.refno2 === 'KHDZ'">凯和对账</span>
  234. <span v-else-if="item.refno2 === 'KHSF'">凯和收费</span>
  235. <span v-else-if="item.refno2 === 'KHFF'">凯和付费</span>
  236. <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
  237. <span v-else-if="item.refno2 === 'KHDD'">凯和订单</span>
  238. <span v-else-if="item.refno2 === 'SE'">下单配船</span>
  239. <span v-else-if="item.refno2 === 'SJRKITEM'">入库明细审批</span>
  240. <span v-else-if="item.refno2 === 'SJCKITEM'">出库明细审批</span>
  241. <span v-else-if="item.refno2 === 'XGDD'">申请变更</span>
  242. <span v-else-if="item.refno2 === 'XGTJ'">提交变更</span>
  243. <span v-else-if="item.refno2 === 'DDSC'">申请删单</span>
  244. </div>
  245. <div class="home_stock_table" @click="approval(item)">
  246. 查看详情
  247. </div>
  248. </div>
  249. </div>
  250. <div
  251. v-else
  252. style="
  253. display: flex;
  254. justify-content: center;
  255. height: 213px;
  256. border-bottom: 1px solid #dfe6ec;
  257. "
  258. >
  259. <div style="align-self: center; color: #909399; font-size: 14px">
  260. 暂无数据
  261. </div>
  262. </div>
  263. </div>
  264. <!-- <el-table
  265. :data="tableData"
  266. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  267. :cell-style="cellStyle"
  268. >
  269. <el-table-column
  270. prop="refno1"
  271. :show-overflow-tooltip="true"
  272. label="委托方"
  273. ></el-table-column>
  274. <el-table-column
  275. prop="auditItem"
  276. :show-overflow-tooltip="true"
  277. label="日期"
  278. >
  279. <template slot-scope="scope">
  280. <span v-if="!scope.row.auditItem">无时间</span>
  281. <span v-else>{{ scope.row.auditItem.slice(0, 10) }}</span>
  282. </template>
  283. </el-table-column>
  284. <el-table-column
  285. prop="refno3"
  286. :show-overflow-tooltip="true"
  287. label="提单号"
  288. ></el-table-column>
  289. <el-table-column
  290. prop="refno2"
  291. :show-overflow-tooltip="true"
  292. label="业务类型"
  293. >
  294. <template slot-scope="scope">
  295. <span v-if="scope.row.refno2 === 'SJRK'">入库</span>
  296. <span v-else-if="scope.row.refno2 === 'SJCK'">出库</span>
  297. <span v-else-if="scope.row.refno2 === 'HQZY'">货转</span>
  298. <span v-else-if="scope.row.refno2 === 'CKDB'">调拨</span>
  299. <span v-else-if="scope.row.refno2 === 'CCF'">仓储费</span>
  300. <span v-else-if="scope.row.refno2 === 'HWTG'">货物通关</span>
  301. <span v-else-if="scope.row.refno2 === 'ZYF'">作业费</span>
  302. <span v-else-if="scope.row.refno2 === 'SF'">收费</span>
  303. <span v-else-if="scope.row.refno2 === 'DZ'">对账</span>
  304. <span v-else-if="scope.row.refno2 === 'FF'">付费</span>
  305. <span v-else-if="scope.row.refno2 === 'JSCCF'">计算仓储费</span>
  306. </template>
  307. </el-table-column>
  308. <el-table-column prop="address" label="操作" width="80">
  309. <template slot-scope="scope">
  310. <span style="cursor: pointer" @click="approval(scope.row)"
  311. >查看详情</span
  312. >
  313. </template>
  314. </el-table-column>
  315. </el-table> -->
  316. </div>
  317. <div style="width: 30%">
  318. <el-table
  319. :data="tableDataTwo"
  320. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  321. :cell-style="cellStyle"
  322. style="margin-left: 20px"
  323. >
  324. <el-table-column
  325. prop="noticeTitle"
  326. :show-overflow-tooltip="true"
  327. label="消息中心"
  328. />
  329. <el-table-column prop="address" label="操作" width="80">
  330. <template slot-scope="scope">
  331. <span
  332. @click="querytoDo(scope.row.noticeContent)"
  333. style="cursor: pointer"
  334. >查看详情</span
  335. >
  336. </template>
  337. </el-table-column>
  338. </el-table>
  339. </div>
  340. </div>
  341. <div style="display: flex">
  342. <div style="width: 70%">
  343. <div
  344. id="commoDity"
  345. style="width: 100%; height: 350px; margin-left: 40px"
  346. ></div>
  347. </div>
  348. <div style="width: 30%">
  349. <div id="cargoOwner" style="width: 100%; height: 350px"></div>
  350. </div>
  351. </div>
  352. </div>
  353. <el-dialog
  354. v-if="sysType == 1 || sysType == 3"
  355. title="消息提示"
  356. :visible.sync="dialogVisible"
  357. width="80%"
  358. :before-close="handleClose"
  359. :close-on-click-modal="false"
  360. >
  361. <span
  362. v-html="text"
  363. class="text"
  364. style="max-width: 100%; height: auto"
  365. ></span>
  366. <span slot="footer" class="dialog-footer">
  367. <el-button type="primary" @click="dialogVisible = false"
  368. >关 闭</el-button
  369. >
  370. </span>
  371. </el-dialog>
  372. <div class="home-fleet" v-if="sysType == 2">
  373. <div class="home-left">
  374. <chi-card title="业务看板" iconName="el-icon-s-cooperation">
  375. <div slot="content">
  376. <div class="content-top">
  377. <div class="content-top-left">
  378. <div
  379. style="display: flex; align-self: center; margin-left: 5px"
  380. >
  381. <div style="align-self: center">
  382. <svg
  383. t="1616396514864"
  384. class="icon"
  385. viewBox="0 0 1024 1024"
  386. version="1.1"
  387. xmlns="http://www.w3.org/2000/svg"
  388. p-id="9805"
  389. width="20"
  390. height="20"
  391. >
  392. <path
  393. 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"
  394. p-id="9806"
  395. fill="#000000"
  396. ></path>
  397. </svg>
  398. </div>
  399. <div
  400. style="
  401. align-self: center;
  402. font-size: 16px;
  403. margin: 2px 0 0 5px;
  404. "
  405. >
  406. 今日新增柜数
  407. </div>
  408. </div>
  409. <div
  410. style="
  411. font-size: 36px;
  412. align-self: center;
  413. font-weight: 600;
  414. color: #014da1;
  415. "
  416. >
  417. {{ upperLeftCntrs.planQuantity }}
  418. </div>
  419. </div>
  420. <div class="content-top-right">
  421. <div
  422. style="
  423. display: flex;
  424. align-self: center;
  425. min-width: 120px;
  426. margin-left: 5px;
  427. "
  428. >
  429. <div style="align-self: center">
  430. <svg
  431. t="1616400289333"
  432. class="icon"
  433. viewBox="0 0 1024 1024"
  434. version="1.1"
  435. xmlns="http://www.w3.org/2000/svg"
  436. p-id="22417"
  437. width="20"
  438. height="20"
  439. >
  440. <path
  441. 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"
  442. p-id="22418"
  443. ></path>
  444. </svg>
  445. </div>
  446. <div
  447. style="
  448. align-self: center;
  449. font-size: 16px;
  450. margin: 2px 0 0 5px;
  451. "
  452. >
  453. 未安排柜数
  454. </div>
  455. </div>
  456. <div
  457. style="
  458. font-size: 36px;
  459. align-self: center;
  460. font-weight: 600;
  461. color: #014da1;
  462. "
  463. >
  464. {{ upperLeftCntrs.surplusQuantity }}
  465. </div>
  466. </div>
  467. </div>
  468. <div class="content-bottom">
  469. <div style="display: flex; align-self: center; margin-left: 5px">
  470. <div style="align-self: center">
  471. <svg
  472. t="1616402886142"
  473. class="icon"
  474. viewBox="0 0 1024 1024"
  475. version="1.1"
  476. xmlns="http://www.w3.org/2000/svg"
  477. p-id="31596"
  478. width="24"
  479. height="24"
  480. >
  481. <path
  482. 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"
  483. p-id="31597"
  484. ></path>
  485. <path
  486. 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"
  487. p-id="31598"
  488. ></path>
  489. </svg>
  490. </div>
  491. <div
  492. style="
  493. align-self: center;
  494. font-size: 16px;
  495. margin: 2px 0 0 5px;
  496. width: 110px;
  497. "
  498. >
  499. 今日派车数
  500. </div>
  501. </div>
  502. <div
  503. style="
  504. font-size: 36px;
  505. align-self: center;
  506. font-weight: 600;
  507. color: #014da1;
  508. "
  509. >
  510. {{ fleetData.upperLeftCarQuantity }}
  511. </div>
  512. <div style="align-self: center; color: #409eff">派车详情></div>
  513. </div>
  514. <div class="content-bottom">
  515. <div
  516. style="
  517. display: flex;
  518. align-self: center;
  519. min-width: 120px;
  520. margin-left: 5px;
  521. "
  522. >
  523. <div style="align-self: center">
  524. <svg
  525. t="1616402771353"
  526. class="icon"
  527. viewBox="0 0 1048 1024"
  528. version="1.1"
  529. xmlns="http://www.w3.org/2000/svg"
  530. p-id="29149"
  531. width="20"
  532. height="20"
  533. >
  534. <path
  535. 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"
  536. p-id="29150"
  537. ></path>
  538. </svg>
  539. </div>
  540. <div
  541. style="
  542. align-self: center;
  543. font-size: 16px;
  544. margin: 2px 0 0 5px;
  545. width: 110px;
  546. "
  547. >
  548. 可用车辆数
  549. </div>
  550. </div>
  551. <div
  552. style="
  553. font-size: 36px;
  554. align-self: center;
  555. font-weight: 600;
  556. color: #014da1;
  557. "
  558. >
  559. {{ fleetData.upperLeftOldCarQuantity }}
  560. </div>
  561. <div style="align-self: center; color: #409eff">派车详情></div>
  562. </div>
  563. </div>
  564. </chi-card>
  565. <chi-card
  566. title="新闻公告"
  567. iconName="el-icon-s-cooperation"
  568. :More="true"
  569. @seeMore="jumpMoreNews"
  570. >
  571. <div slot="content" style="height: 260px;" class="jingrun-news">
  572. <div
  573. style="padding: 4px 15px; font-size: 14px"
  574. v-for="(item, index) in tableDataTwo"
  575. :key="index"
  576. :style="{
  577. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  578. }"
  579. @click="openNewsDetails(item.noticeId)"
  580. >
  581. <span style="cursor: pointer">{{ item.noticeTitle }}</span>
  582. </div>
  583. </div>
  584. </chi-card>
  585. </div>
  586. <el-dialog
  587. title="新闻公告"
  588. :visible.sync="newsVisible"
  589. width="700px"
  590. v-dialogDrag
  591. :close-on-click-modal="false">
  592. <h3>{{ newsDetails.noticeTitle }}</h3>
  593. <p class="html-box" v-html="newsDetails.noticeContent"></p>
  594. <span slot="footer">
  595. <el-button @click="newsVisible = false">关闭</el-button>
  596. </span>
  597. </el-dialog>
  598. <div class="home-right">
  599. <chi-card title="运行车辆" iconName="el-icon-s-order" :More="true">
  600. <div slot="content" class="upper-right">
  601. <div
  602. style="display: flex; padding: 4px 15px; font-size: 14px"
  603. v-for="(item, index) in upperRights"
  604. :key="index"
  605. :style="{
  606. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  607. }"
  608. >
  609. <div style="width: 30%" @click="goPage(item.id)">
  610. <el-link type="primary" :underline="false">{{
  611. item.mblno
  612. }}</el-link>
  613. </div>
  614. <div style="width: 20%">{{ item.carregNo }}</div>
  615. <div style="width: 15%; color: #67c23a">
  616. {{ item.orderStatus | statusType }}
  617. </div>
  618. <div
  619. style="
  620. width: 35%;
  621. overflow: hidden;
  622. text-overflow: ellipsis;
  623. white-space: nowrap;
  624. "
  625. >
  626. {{ item.corpName }}
  627. </div>
  628. </div>
  629. </div>
  630. </chi-card>
  631. <chi-card title="业务待办" iconName="el-icon-s-order" :More="true">
  632. <div slot="content" class="upper-right2">
  633. <div
  634. style="
  635. font-size: 14px;
  636. display: flex;
  637. margin: 4px 15px;
  638. border-bottom: 1px dashed #e6ebf5;
  639. "
  640. >
  641. <div style="width: 30%" class="single_line">FK221516485645</div>
  642. <div style="width: 20%" class="single_line">运费运费运费</div>
  643. <div style="width: 15%" class="single_line">李刚</div>
  644. <div style="width: 15%; color: #67c23a" class="single_line">
  645. 待审批
  646. </div>
  647. <div style="width: 20%" class="single_line">2020/10/10</div>
  648. </div>
  649. <div style="font-size: 14px; display: flex; margin: 4px 15px">
  650. <div style="width: 30%" class="single_line">FK221516485645</div>
  651. <div style="width: 20%" class="single_line">运费运费运费</div>
  652. <div style="width: 15%" class="single_line">李刚</div>
  653. <div style="width: 15%; color: #67c23a" class="single_line">
  654. 待审批
  655. </div>
  656. <div style="width: 20%" class="single_line">2020/10/10</div>
  657. </div>
  658. </div>
  659. </chi-card>
  660. <!-- <chi-card title="审核列表" iconName="el-icon-s-order" :More="true">-->
  661. <!-- <div slot="content" class="upper-right2">-->
  662. <!-- <div-->
  663. <!-- style="-->
  664. <!-- font-size: 14px;-->
  665. <!-- display: flex;-->
  666. <!-- margin: 4px 15px;-->
  667. <!-- border-bottom: 1px dashed #e6ebf5;-->
  668. <!-- "-->
  669. <!-- >-->
  670. <!-- <div style="width: 30%" class="single_line">FK221516485645</div>-->
  671. <!-- <div style="width: 20%" class="single_line">运费运费运费</div>-->
  672. <!-- <div style="width: 15%" class="single_line">李刚</div>-->
  673. <!-- <div style="width: 15%; color: #67c23a">待审批</div>-->
  674. <!-- <div style="width: 20%" class="single_line">2020/10/10</div>-->
  675. <!-- </div>-->
  676. <!-- <div style="font-size: 14px; display: flex; margin: 4px 15px">-->
  677. <!-- <div style="width: 30%" class="single_line">FK221516485645</div>-->
  678. <!-- <div style="width: 20%" class="single_line">运费运费运费</div>-->
  679. <!-- <div style="width: 15%" class="single_line">李刚</div>-->
  680. <!-- <div style="width: 15%; color: #67c23a" class="single_line">-->
  681. <!-- 待审批-->
  682. <!-- </div>-->
  683. <!-- <div style="width: 20%" class="single_line">2020/10/10</div>-->
  684. <!-- </div>-->
  685. <!-- </div>-->
  686. <!-- </chi-card>-->
  687. </div>
  688. </div>
  689. <div v-if="sysType == 3">
  690. <div style="width: 100%;">
  691. <div id="distribution" style="width: 100%;height: 300px;"></div>
  692. </div>
  693. <div style="width: 100%;margin: 20px auto;float: left">
  694. <el-table :data="bookingData">
  695. <el-table-column prop="fName" align="center" label="船名"/>
  696. <el-table-column prop="fNo" align="center" label="航次"/>
  697. <el-table-column prop="portofloadName" align="center" label="起运港"/>
  698. <el-table-column prop="distinationName" align="center" label="目的港"/>
  699. <el-table-column prop="fWeight" align="center" label="容量TEU"/>
  700. <el-table-column prop="boxNumber" align="center" label="实装TEU"/>
  701. <el-table-column prop="fETD" align="center" label="预计开船">
  702. <template slot-scope="scope">
  703. <span>{{ scope.row.fETD?scope.row.fETD.slice(0, 10):'' }}</span>
  704. </template>
  705. </el-table-column>
  706. <el-table-column prop="fETA" align="center" label="预计到港">
  707. <template slot-scope="scope">
  708. <span>{{ scope.row.fETA?scope.row.fETA.slice(0, 10):'' }}</span>
  709. </template>
  710. </el-table-column>
  711. <el-table-column prop="fATD" align="center" label="实际开船">
  712. <template slot-scope="scope">
  713. <span>{{ scope.row.fATD?scope.row.fATD.slice(0, 10):'' }}</span>
  714. </template>
  715. </el-table-column>
  716. <el-table-column prop="fATA" align="center" label="实际到港">
  717. <template slot-scope="scope">
  718. <span>{{ scope.row.fATA?scope.row.fATA.slice(0, 10):'' }}</span>
  719. </template>
  720. </el-table-column>
  721. <el-table-column prop="fDays" align="center" label="航程"/>
  722. </el-table>
  723. </div>
  724. <div style="width: 100%;">
  725. <div style="width: 49%;float: left">
  726. <div
  727. style="
  728. display: flex;
  729. color: #515a6e;
  730. font-weight: 600;
  731. background-color: #f8f8f9;
  732. height: 42.6px;
  733. font-size: 13px;
  734. justify-content: space-between;
  735. border-bottom: 1px dashed #dfe6ec;
  736. "
  737. >
  738. <div class="home_stock_table">委托方</div>
  739. <div class="home_stock_table">日期</div>
  740. <div class="home_stock_table">提单号</div>
  741. <div class="home_stock_table">业务类型</div>
  742. <div class="home_stock_table_right">
  743. <div>操作</div>
  744. <el-link type="primary" @click="jump('/morePage/stock')"
  745. >更多></el-link
  746. >
  747. </div>
  748. </div>
  749. <div v-if="tableData.length > 0">
  750. <div
  751. style="display: flex;height: 42.6px;border-bottom: 1px dashed #dfe6ec;"
  752. v-for="(item, index) in tableData"
  753. :key="index"
  754. v-if="index < 5"
  755. >
  756. <div class="home_stock_table"> <p>{{ item.refno1 }}</p></div>
  757. <div class="home_stock_table">
  758. {{ item.sendTime ? item.sendTime.slice(0, 10):'' }}
  759. </div>
  760. <div class="home_stock_table" @click="approval(item)"><p>{{ item.refno3}}</p></div>
  761. <div class="home_stock_table">
  762. <span v-if="item.refno2 === 'SJRK'">入库</span>
  763. <span v-else-if="item.refno2 === 'SJCK'">出库</span>
  764. <span v-else-if="item.refno2 === 'HQZY'">货转</span>
  765. <span v-else-if="item.refno2 === 'CKDB'">调拨</span>
  766. <span v-else-if="item.refno2 === 'CCF'">仓储费</span>
  767. <span v-else-if="item.refno2 === 'HWTG'">货物通关</span>
  768. <span v-else-if="item.refno2 === 'ZYF'">作业费</span>
  769. <span v-else-if="item.refno2 === 'SF'">收费</span>
  770. <span v-else-if="item.refno2 === 'DZ'">对账</span>
  771. <span v-else-if="item.refno2 === 'FF'">付费</span>
  772. <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
  773. <span v-else-if="item.refno2 === 'KHDZ'">凯和对账</span>
  774. <span v-else-if="item.refno2 === 'KHSF'">凯和收费</span>
  775. <span v-else-if="item.refno2 === 'KHFF'">凯和付费</span>
  776. <span v-else-if="item.refno2 === 'ApplyFP'">凯和开票申请</span>
  777. <span v-else-if="item.refno2 === 'KHDD'">凯和订单</span>
  778. <span v-else-if="item.refno2 === 'SE'">下单配船</span>
  779. <span v-else-if="item.refno2 === 'SJRKITEM'">入库明细审批</span>
  780. <span v-else-if="item.refno2 === 'SJCKITEM'">出库明细审批</span>
  781. <span v-else-if="item.refno2 === 'XGDD'">申请变更</span>
  782. <span v-else-if="item.refno2 === 'XGTJ'">提交变更</span>
  783. <span v-else-if="item.refno2 === 'DDSC'">申请删单</span>
  784. <span v-else-if="item.refno2 === 'FYBG'">费用变更</span>
  785. </div>
  786. <div class="home_stock_table" @click="approval(item)">
  787. 立即审批
  788. </div>
  789. </div>
  790. </div>
  791. <div
  792. v-else
  793. style="
  794. display: flex;
  795. justify-content: center;
  796. height: 213px;
  797. border-bottom: 1px solid #dfe6ec;
  798. "
  799. >
  800. <div style="align-self: center; color: #909399; font-size: 14px">
  801. 暂无数据
  802. </div>
  803. </div>
  804. </div>
  805. <div style="width: 49%;float: right">
  806. <el-table
  807. :data="tableDataTwo"
  808. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  809. :cell-style="cellStyle"
  810. style="margin-left: 20px"
  811. >
  812. <el-table-column
  813. prop="noticeTitle"
  814. :show-overflow-tooltip="true"
  815. label="消息中心"
  816. />
  817. <el-table-column prop="address" label="操作" width="80">
  818. <template slot-scope="scope">
  819. <span
  820. @click="querytoDo(scope.row.noticeContent)"
  821. style="cursor: pointer"
  822. >查看详情</span
  823. >
  824. </template>
  825. </el-table-column>
  826. </el-table>
  827. </div>
  828. </div>
  829. <div style="width: 100%;margin: 10px auto;float: left">
  830. <div id="bookingRanking" style="width: 100%;height: 300px;"></div>
  831. </div>
  832. <div style="width: 100%;margin: 10px auto;float: left">
  833. <div id="bookingRankingTwo" style="width: 100%;height: 300px;"></div>
  834. </div>
  835. <!-- 船名航次-->
  836. <div style="width: 100%;margin: 10px auto;float: left">
  837. <div id="voyage" style="width: 100%;height: 350px;"></div>
  838. </div>
  839. </div>
  840. <div style="width: 100%;float: left;" v-if="wealthChart">
  841. <div id="finance" style="width: 100%;height: 600px;"></div>
  842. </div>
  843. <div style="width: 100%;float: left;" v-if="wealthChart">
  844. <div id="arrears" style="width: 100%;height: 600px;"></div>
  845. </div>
  846. <!--快捷入库-->
  847. <fast-in-stock
  848. ref="fastInStock"
  849. v-if="fastInStockVisble"
  850. @closeDialog="closeInStock"
  851. ></fast-in-stock>
  852. <!--快速出库-->
  853. <fast-out-stock
  854. ref="fastOutStock"
  855. v-if="fastOutStockVisble"
  856. @closeDialog="closeOutStock"
  857. ></fast-out-stock>
  858. </div>
  859. </template>
  860. <script>
  861. import { queryHomeInfo } from "@/api/fleet/home";
  862. import chiCard from "./chiCard.vue";
  863. import {
  864. listCorps,
  865. information,
  866. warehouse,
  867. inquiry,
  868. boxDistribution,
  869. shipDynamics,
  870. bookingSpace,
  871. locationRanking,
  872. getProfitData,
  873. remindExpirationData,
  874. getFeeStatistics, getArrearsStatistics
  875. } from "../../src/api/index";
  876. import Cookies from "js-cookie";
  877. import fastInStock from '../../src/components/fastStorage/fastInStock/index'
  878. import fastOutStock from '../../src/components/fastStorage/fastOutStock/index'
  879. import {getToken} from "@/utils/auth";
  880. import {currentLogin} from "@/api/warehouseCheck";
  881. import { getUserProfile } from "@/api/system/user";
  882. export default {
  883. name: "index",
  884. data() {
  885. return {
  886. fastInStockVisble: false,
  887. fastOutStockVisble: false,
  888. wealthChart:false,
  889. bookingData:[],
  890. editModel: {},
  891. // 版本号
  892. version: "3.2.1",
  893. select: "",
  894. text: "",
  895. dialogVisible: false,
  896. tableData: [],
  897. dataList:{
  898. addressName:[],
  899. boxNumber:[],
  900. bookingRanking:{
  901. text:[],
  902. textTwo:[],
  903. data:[],
  904. dataTwo:[]
  905. }
  906. },
  907. // 利润统计数据获得
  908. profitData: {
  909. xData: [],
  910. seriesData: [],
  911. },
  912. chart: [],
  913. warehouse: [],
  914. master: [],
  915. commodity: [],
  916. commoditytwo: [],
  917. name: [],
  918. tableDataTwo: [],
  919. fleetData: "",
  920. upperLeftCntrs: {},
  921. sysType: "",
  922. upperRights: [],
  923. // 新闻公告详情弹窗
  924. newsVisible: false,
  925. // 新闻公告内容
  926. newsDetails: {
  927. noticeTitle: '',
  928. noticeContent: ''
  929. },
  930. remindList: [],
  931. };
  932. },
  933. filters: {
  934. statusType(val) {
  935. switch (val) {
  936. case 10:
  937. return "车队安排";
  938. break;
  939. case 20:
  940. return "司机受理";
  941. break;
  942. case 30:
  943. return "司机出车";
  944. break;
  945. case 40:
  946. return "提箱";
  947. break;
  948. case 50:
  949. return "装卸货";
  950. break;
  951. case 60:
  952. return "还卸柜";
  953. break;
  954. case 70:
  955. return "费用确认";
  956. break;
  957. default:
  958. return "回单";
  959. }
  960. },
  961. },
  962. components: {
  963. chiCard,
  964. fastInStock,
  965. fastOutStock,
  966. },
  967. created() {
  968. this.getConfigKey("data_print_title").then((response) => {
  969. Cookies.set("companyName", response.msg);
  970. });
  971. this.sysType = Cookies.get("sysType");
  972. if (this.sysType == 2) {
  973. queryHomeInfo().then((response) => {
  974. this.fleetData = response.data;
  975. if (response.data.upperRight.length > 0) {
  976. this.upperRights = response.data.upperRight.slice(0, 10);
  977. }
  978. this.upperLeftCntrs = response.data.upperLeftCntrs;
  979. });
  980. }
  981. // console.log(this.sysType);
  982. },
  983. activated() {
  984. this.getList();
  985. this.warehouses();
  986. this.inquiry();
  987. if (this.sysType == 1) {
  988. remindExpirationData().then(res => {
  989. this.remindList = res.rows
  990. })
  991. }
  992. this.dataList.addressName = []
  993. this.dataList.boxNumber = []
  994. this.dataList.bookingRanking.text = []
  995. this.dataList.bookingRanking.textTwo = []
  996. this.dataList.bookingRanking.data = []
  997. this.dataList.bookingRanking.dataTwo = []
  998. if (Number(this.sysType) === 3){
  999. boxDistribution().then(res =>{
  1000. res.data.forEach(item =>{
  1001. this.dataList.addressName.push(item.addressName)
  1002. this.dataList.boxNumber.push(item.boxNumber)
  1003. })
  1004. this.boxDistribution()
  1005. })
  1006. let l = 0
  1007. bookingSpace().then(res=>{
  1008. res.data.forEach(item =>{
  1009. this.dataList.bookingRanking.text.push(item.corpName)
  1010. this.dataList.bookingRanking.data.push({
  1011. name: item.corpName,
  1012. type: 'line',
  1013. stack: l,
  1014. data: [item.January, item.February, item.March, item.April, item.May, item.June, item.July,item.August,item.September,item.October,item.November,item.December]
  1015. })
  1016. })
  1017. l++
  1018. this.ranking()
  1019. })
  1020. locationRanking().then(res=>{
  1021. let i = 0
  1022. res.data.forEach(item =>{
  1023. this.dataList.bookingRanking.textTwo.push(item.corpName)
  1024. this.dataList.bookingRanking.dataTwo.push({
  1025. name: item.corpName,
  1026. type: 'line',
  1027. stack: i,
  1028. data: [item.January, item.February, item.March, item.April, item.May, item.June, item.July,item.August,item.September,item.October,item.November,item.December]
  1029. })
  1030. i++
  1031. })
  1032. this.rankingTwo()
  1033. })
  1034. shipDynamics().then(res=>{
  1035. console.log(res)
  1036. this.bookingData = res.data
  1037. })
  1038. this.profitData.xData = []
  1039. this.profitData.seriesData = []
  1040. getProfitData({pageSize: 24, pageNum: 1}).then(res => {
  1041. res.rows.forEach(item => {
  1042. if (!item.shipsName) {
  1043. item.shipsName = ''
  1044. }
  1045. if (!item.voyage) {
  1046. item.voyage = ''
  1047. }
  1048. let name = item.shipsName + '-' + item.voyage
  1049. this.profitData.xData.push(name)
  1050. this.profitData.seriesData.push((Number(item.profit) / 10000).toFixed(2))
  1051. // this.profitData.seriesData.push(item.profit)
  1052. })
  1053. this.oceanVessel()
  1054. })
  1055. }
  1056. getUserProfile().then(res=>{
  1057. for (let item in res.data.roles){
  1058. if (res.data.roles[item].roleKey == "wealthStatistics" || res.data.roles[item].roleKey =="admin"){
  1059. getFeeStatistics().then(res=>{
  1060. this.financeLine(res.data)
  1061. })
  1062. getArrearsStatistics().then(res=>{
  1063. this.customerArrears(res.data)
  1064. })
  1065. this.wealthChart = true
  1066. }
  1067. }
  1068. })
  1069. },
  1070. methods: {
  1071. // 船名航次
  1072. oceanVessel() {
  1073. let myChart = this.$echarts.init(document.getElementById("voyage"));
  1074. const color = ['#EE6666', '#7DD2F3']
  1075. myChart.setOption({
  1076. title: {
  1077. text: '利润统计(前二十四)',
  1078. left: 'center'
  1079. },
  1080. tooltip: {
  1081. trigger: 'axis'
  1082. },
  1083. legend: {
  1084. orient: 'vertical',
  1085. left: 'right',
  1086. data: []
  1087. },
  1088. grid: {
  1089. // left: '10%',
  1090. bottom:'30%'
  1091. },
  1092. xAxis: {
  1093. axisLabel: {
  1094. rotate: 40
  1095. },
  1096. type: 'category',
  1097. boundaryGap: false,
  1098. data: this.profitData.xData,
  1099. // data: ['凯和志诚-02W1', '凯和志诚-02W2', '凯和志诚-03W3', '凯和志诚2111', '凯和志诚2110', '凯和志诚2110-4', '凯和志诚2114', '凯和志诚2116', '凯和志诚2118', '凯和志诚2118A', '凯和志诚2119N', '凯和志诚2120', '凯和志诚2122', '凯和志诚2123', '凯和志诚2124', '凯和志诚2125', '凯和志诚2127', '凯和志诚2126', '凯和志诚2128', '凯和志诚ABC', '凯和志诚2129', '凯和志诚K8101', '凯和志诚K8102', '凯和志诚K8102E',]
  1100. },
  1101. yAxis: {
  1102. type: 'value',
  1103. name: '万元'
  1104. },
  1105. series: [
  1106. {
  1107. type: 'line',
  1108. smooth: false,
  1109. data: this.profitData.seriesData,
  1110. // data:[1000,2112,333,4444,6323,11,234]
  1111. }
  1112. ]
  1113. })
  1114. },
  1115. //箱分布图表
  1116. ranking() {
  1117. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1118. let myChart = this.$echarts.init(document.getElementById("bookingRanking"));
  1119. // 绘制图表
  1120. myChart.setOption({
  1121. title: {
  1122. text: '订舱排名(前十)',
  1123. left: 'center'
  1124. },
  1125. tooltip: {
  1126. trigger: 'axis'
  1127. },
  1128. legend: {
  1129. orient: 'vertical',
  1130. left: 'right',
  1131. data: this.dataList.bookingRanking.text
  1132. },
  1133. grid: {
  1134. left: '3%',
  1135. right: '20%',
  1136. bottom: '3%',
  1137. containLabel: true
  1138. },
  1139. xAxis: {
  1140. type: 'category',
  1141. boundaryGap: false,
  1142. data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
  1143. },
  1144. yAxis: {
  1145. type: 'value'
  1146. },
  1147. series: this.dataList.bookingRanking.data
  1148. });
  1149. },
  1150. //箱分布图表
  1151. rankingTwo() {
  1152. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1153. let myChart = this.$echarts.init(document.getElementById("bookingRankingTwo"));
  1154. // 绘制图表
  1155. myChart.setOption({
  1156. title: {
  1157. text: '应收款排名(前十)',
  1158. left: 'center'
  1159. },
  1160. tooltip: {
  1161. trigger: 'axis'
  1162. },
  1163. legend: {
  1164. orient: 'vertical',
  1165. left: 'right',
  1166. data: this.dataList.bookingRanking.textTwo
  1167. },
  1168. grid: {
  1169. left: '3%',
  1170. right: '20%',
  1171. bottom: '3%',
  1172. containLabel: true
  1173. },
  1174. xAxis: {
  1175. type: 'category',
  1176. boundaryGap: false,
  1177. data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
  1178. },
  1179. yAxis: {
  1180. type: 'value'
  1181. },
  1182. series: this.dataList.bookingRanking.dataTwo
  1183. });
  1184. },
  1185. //箱分布图表
  1186. boxDistribution() {
  1187. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1188. let myChart = this.$echarts.init(document.getElementById("distribution"));
  1189. // 绘制图表
  1190. myChart.setOption({
  1191. title: {
  1192. text: "箱分布",
  1193. left: "center",
  1194. },
  1195. xAxis: {
  1196. type: 'category',
  1197. data: this.dataList.addressName
  1198. },
  1199. tooltip: {
  1200. trigger: 'axis'
  1201. },
  1202. yAxis: {
  1203. type: 'value'
  1204. },
  1205. toolbox: {
  1206. feature: {
  1207. saveAsImage: {}
  1208. }
  1209. },
  1210. series: [{
  1211. data: this.dataList.boxNumber,
  1212. type: 'line'
  1213. }]
  1214. });
  1215. },
  1216. goPage(id) {
  1217. this.$router.push({
  1218. path: "/track/cabinet",
  1219. query: { id: id },
  1220. });
  1221. },
  1222. //跳转审批页面
  1223. approval(row) {
  1224. console.log(row)
  1225. switch (row.refno2) {
  1226. case "CDZZ": {
  1227. this.$router.push({
  1228. path: "/business/inAndOutStock",
  1229. query: { id: row.billId }
  1230. })
  1231. break;
  1232. }
  1233. case "FYBG": {
  1234. if (this.sysType == 1) {
  1235. this.$router.push({
  1236. path: "/business/costModify",
  1237. query: { id: row.billId }
  1238. })
  1239. } else if (this.sysType == 3) {
  1240. this.$router.push({
  1241. path: "/domesticTrade/costModify",
  1242. query: { id: row.billId }
  1243. })
  1244. }
  1245. break;
  1246. }
  1247. case "SJRK": {
  1248. this.$router.push({
  1249. path: "/business/inStock",
  1250. query: { id: row.billId},
  1251. });
  1252. break;
  1253. }
  1254. case "SJCK": {
  1255. this.$router.push({
  1256. path: "/business/outStock",
  1257. query: { id: row.billId},
  1258. });
  1259. break;
  1260. }
  1261. case "HQZY": {
  1262. this.$router.push({
  1263. path: "/business/goodsTransfer",
  1264. query: { id: row.billId},
  1265. });
  1266. break;
  1267. }
  1268. case "CKDB": {
  1269. this.$router.push({
  1270. path: "/business/stockTransfer",
  1271. query: { id: row.billId},
  1272. });
  1273. break;
  1274. }
  1275. case "HWTG": {
  1276. this.$router.push({
  1277. path: "/business/cargoClearance",
  1278. query: { id: row.billId},
  1279. });
  1280. break;
  1281. }
  1282. case "JSCCF": {
  1283. this.$router.push({
  1284. path: "/business/agreement",
  1285. query: { data: JSON.stringify(row) },
  1286. });
  1287. break;
  1288. }
  1289. case "CCF": {
  1290. this.$router.push({
  1291. path: "/agreement/agreementStorage",
  1292. query: { data: JSON.stringify(row) },
  1293. });
  1294. break;
  1295. }
  1296. case "ZYF": {
  1297. this.$router.push({
  1298. path: "/agreement/agreementTask",
  1299. query: { data: JSON.stringify(row) },
  1300. });
  1301. break;
  1302. }
  1303. case "SF": {
  1304. this.$router.push({
  1305. path: "/finance/charge",
  1306. query: { data: JSON.stringify(row) },
  1307. });
  1308. break;
  1309. }
  1310. case "DZ": {
  1311. this.$router.push({
  1312. path: "/finance/contrast",
  1313. query: { data: JSON.stringify(row) },
  1314. });
  1315. break;
  1316. }
  1317. case "FF": {
  1318. this.$router.push({
  1319. path: "/finance/payment",
  1320. query: { data: JSON.stringify(row) },
  1321. });
  1322. break;
  1323. }
  1324. case "ApplyFP": {
  1325. this.$router.push({
  1326. path: "/finance/chargeInvoice",
  1327. query: { data: JSON.stringify(row) },
  1328. });
  1329. break;
  1330. }
  1331. case "KHDZ": {
  1332. this.$router.push({
  1333. path: "/finance/contrast",
  1334. query: { data: JSON.stringify(row) },
  1335. });
  1336. break;
  1337. }
  1338. case "KHSF": {
  1339. this.$router.push({
  1340. path: "/finance/charge",
  1341. query: { data: JSON.stringify(row) },
  1342. });
  1343. break;
  1344. }
  1345. case "KHFF": {
  1346. this.$router.push({
  1347. path: "/finance/payment",
  1348. query: { data: JSON.stringify(row) },
  1349. });
  1350. break;
  1351. }
  1352. case "KHDD": {
  1353. this.$router.push({
  1354. path: "/domesticTrade/orderInformation",
  1355. query: { list: JSON.stringify(row) },
  1356. });
  1357. break;
  1358. }
  1359. case "SJRKITEM": {
  1360. this.$router.push({
  1361. path: "/business/inStock",
  1362. query: { id: row.billId},
  1363. });
  1364. break;
  1365. }
  1366. case "SJCKITEM": {
  1367. this.$router.push({
  1368. path: "/business/outStock",
  1369. query: { id: row.billId},
  1370. });
  1371. break;
  1372. }
  1373. case "XGDD": {
  1374. this.$router.push({
  1375. path: "/domesticTrade/orderInformation",
  1376. query: {testing:JSON.stringify(row)},
  1377. });
  1378. break;
  1379. }
  1380. case "XGTJ": {
  1381. this.$router.push({
  1382. path: "/domesticTrade/orderInformation",
  1383. query: {testing:JSON.stringify(row)},
  1384. });
  1385. break;
  1386. }
  1387. case "DDSC": {
  1388. this.$router.push({
  1389. path: "/domesticTrade/orderInformation",
  1390. query: {testing:JSON.stringify(row)},
  1391. });
  1392. break;
  1393. }
  1394. default: {
  1395. return this.$message.error("未知错误,无状态");
  1396. }
  1397. }
  1398. },
  1399. inquiry() {
  1400. let data = {
  1401. actId: "",
  1402. auditStatus: 'S'
  1403. };
  1404. inquiry(data).then((res) => {
  1405. res.data.map(e=>{
  1406. if(e.auditItem){
  1407. e.auditItem=e.auditItem.slice(0, 10)
  1408. }
  1409. })
  1410. this.tableData = res.data;
  1411. });
  1412. },
  1413. querytoDo(res) {
  1414. this.dialogVisible = true;
  1415. this.text = res;
  1416. },
  1417. handleClose(done) {
  1418. this.dialogVisible = false;
  1419. },
  1420. firstinventory(fId) {
  1421. // console.log(this.warehouse);
  1422. information(fId).then((response) => {
  1423. this.chart = response.data;
  1424. if (this.chart.whouseList.length !== 0) {
  1425. for (let index of this.chart.corpsListWhouse) {
  1426. this.master.push({
  1427. name: index.fName,
  1428. value: index.fGrossweightD,
  1429. });
  1430. this.name.push(index.fName);
  1431. }
  1432. for (let index of this.chart.goodslistWhouse) {
  1433. this.commodity.push(index.fName);
  1434. this.commoditytwo.push(index.fGrossweightD);
  1435. }
  1436. this.drawLine();
  1437. this.drawLinetwo();
  1438. this.commoDity();
  1439. } else {
  1440. this.chart = {
  1441. corpsListWhouse: [
  1442. {
  1443. balance: 0,
  1444. fCorpid: 58,
  1445. fGrossweightD: 0,
  1446. fName: "展示数据",
  1447. fTotalgross: 10000,
  1448. fWarehouseName: "展示数据",
  1449. },
  1450. ],
  1451. goodslistWhouse: [
  1452. {
  1453. balance: 0,
  1454. fGoodsid: 13,
  1455. fGrossweightD: 0,
  1456. fName: "展示商品",
  1457. fTotalgross: 10000,
  1458. fWarehouseName: "展示数据",
  1459. },
  1460. ],
  1461. whouseList: [
  1462. {
  1463. fGrossweightD: 0,
  1464. fName: "展示数据",
  1465. fTotalgross: 10000,
  1466. fWarehouseid: 36,
  1467. },
  1468. ],
  1469. };
  1470. for (let index of this.chart.corpsListWhouse) {
  1471. this.master.push({
  1472. name: index.fName,
  1473. value: index.fGrossweightD,
  1474. });
  1475. this.name.push(index.fName);
  1476. }
  1477. for (let index of this.chart.goodslistWhouse) {
  1478. this.commodity.push(index.fName);
  1479. this.commoditytwo.push(index.fGrossweightD);
  1480. }
  1481. this.drawLine();
  1482. this.drawLinetwo();
  1483. this.commoDity();
  1484. }
  1485. });
  1486. },
  1487. query() {
  1488. this.master = [];
  1489. this.commodity = [];
  1490. this.commoditytwo = [];
  1491. this.name = [];
  1492. if (this.select === "") {
  1493. return this.select;
  1494. } else {
  1495. information(this.select).then((response) => {
  1496. this.chart = response.data;
  1497. for (let index of this.chart.corpsListWhouse) {
  1498. this.master.push({
  1499. name: index.fName,
  1500. value: index.fGrossweightD,
  1501. });
  1502. this.name.push(index.fName);
  1503. }
  1504. for (let index of this.chart.goodslistWhouse) {
  1505. this.commodity.push(index.fName);
  1506. this.commoditytwo.push(index.fGrossweightD);
  1507. }
  1508. this.drawLine();
  1509. this.drawLinetwo();
  1510. this.commoDity();
  1511. });
  1512. }
  1513. },
  1514. jump(res) {
  1515. this.$router.push({ path: res });
  1516. },
  1517. //设置单元格边框
  1518. cellStyle({ row, column, rowIndex, columnIndex }) {
  1519. return "border-bottom: 1px dashed rgb(223, 230, 236)";
  1520. },
  1521. //查询消息中心
  1522. getList() {
  1523. this.loading = true;
  1524. listCorps(this.queryParams).then((response) => {
  1525. if (response.rows.length > 0) {
  1526. // this.tableDataTwo = response.rows.slice(0, 10);
  1527. this.tableDataTwo = response.rows
  1528. }
  1529. });
  1530. },
  1531. //查询仓库
  1532. warehouses() {
  1533. warehouse().then((response) => {
  1534. this.warehouse = [];
  1535. for (let index of response.rows) {
  1536. this.warehouse.push({
  1537. fName: index.fName,
  1538. fWarehouseid: index.fWarehouseid,
  1539. });
  1540. }
  1541. // console.log(this.warehouse);
  1542. this.firstinventory(this.warehouse[0].fWarehouseid);
  1543. });
  1544. },
  1545. goTarget(href) {
  1546. window.open(href, "_blank");
  1547. },
  1548. //财务图表
  1549. financeLine(data) {
  1550. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1551. let myChart = this.$echarts.init(document.getElementById("finance"));
  1552. // 绘制图表
  1553. myChart.setOption({
  1554. legend: {
  1555. left: '10%',
  1556. top: '4%'
  1557. },
  1558. title: {
  1559. text: "利润分析",
  1560. left: "center",
  1561. subtext: "实时数据"
  1562. },
  1563. tooltip: {},
  1564. color: ["#5470c6","#92cc75","#fac858"],
  1565. dataset: data,
  1566. xAxis: { type: 'category' },
  1567. yAxis: [
  1568. {
  1569. type: 'value',
  1570. scale: true,
  1571. axisLabel: {
  1572. formatter: '{value} 万元'
  1573. }
  1574. }
  1575. ],
  1576. grid: {
  1577. left: "3%",
  1578. right: "4%",
  1579. bottom: "3%",
  1580. containLabel: true,
  1581. },
  1582. // Declare several bar series, each will be mapped
  1583. // to a column of dataset.source by default.
  1584. series: [{ type: 'bar',
  1585. label: {
  1586. show: true,
  1587. position: 'top',
  1588. valueAnimation: true
  1589. }}, { type: 'bar',
  1590. label: {
  1591. show: true,
  1592. position: 'top',
  1593. valueAnimation: true
  1594. }}, { type: 'bar',
  1595. label: {
  1596. show: true,
  1597. position: 'top',
  1598. valueAnimation: true
  1599. }}]
  1600. });
  1601. },
  1602. customerArrears(data){
  1603. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1604. let myChart = this.$echarts.init(document.getElementById("arrears"));
  1605. // 绘制图表
  1606. myChart.setOption({
  1607. tooltip: {
  1608. trigger: 'axis',
  1609. axisPointer: {
  1610. type: 'shadow'
  1611. }
  1612. },
  1613. title: {
  1614. text: "欠款排行",
  1615. left: "center",
  1616. subtext: "实时数据"
  1617. },
  1618. color: ["#3298db"],
  1619. grid: {
  1620. left: '3%',
  1621. right: '4%',
  1622. bottom: '3%',
  1623. containLabel: true
  1624. },
  1625. xAxis: [
  1626. {
  1627. type: 'category',
  1628. data: data.key,
  1629. axisTick: {
  1630. alignWithLabel: true
  1631. }
  1632. }
  1633. ],
  1634. yAxis: [
  1635. {
  1636. type: 'value',
  1637. scale: true,
  1638. axisLabel: {
  1639. formatter: '{value} 万元'
  1640. }
  1641. }
  1642. ],
  1643. series: [
  1644. {
  1645. name: '欠款',
  1646. type: 'bar',
  1647. barWidth: '60%',
  1648. data: data.value,
  1649. label: {
  1650. show: true,
  1651. position: 'top',
  1652. valueAnimation: true
  1653. }
  1654. }
  1655. ]
  1656. })
  1657. },
  1658. //仓库图表
  1659. drawLine() {
  1660. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1661. let myChart = this.$echarts.init(document.getElementById("box"));
  1662. // 绘制图表
  1663. myChart.setOption({
  1664. title: {
  1665. text: this.chart.whouseList[0].fName + "统计",
  1666. subtext: "实时数据",
  1667. left: "center",
  1668. },
  1669. tooltip: {
  1670. trigger: "item",
  1671. formatter: "{a} <br/>{b} : {c} ({d}%)",
  1672. },
  1673. legend: {
  1674. bottom: 10,
  1675. left: "center",
  1676. data: ["空闲库容", "占用库容"],
  1677. },
  1678. series: [
  1679. {
  1680. type: "pie",
  1681. name: "实时数据",
  1682. radius: "65%",
  1683. center: ["50%", "50%"],
  1684. selectedMode: "single",
  1685. data: [
  1686. {
  1687. label: {
  1688. backgroundColor: "#eee",
  1689. borderColor: "#777",
  1690. borderWidth: 1,
  1691. borderRadius: 4,
  1692. rich: {
  1693. title: {
  1694. color: "#eee",
  1695. align: "center",
  1696. },
  1697. abg: {
  1698. backgroundColor: "#333",
  1699. width: "100%",
  1700. align: "right",
  1701. height: 25,
  1702. borderRadius: [4, 4, 0, 0],
  1703. },
  1704. Sunny: {
  1705. height: 30,
  1706. align: "left",
  1707. },
  1708. Cloudy: {
  1709. height: 30,
  1710. align: "left",
  1711. },
  1712. Showers: {
  1713. height: 30,
  1714. align: "left",
  1715. },
  1716. weatherHead: {
  1717. color: "#333",
  1718. height: 24,
  1719. align: "left",
  1720. },
  1721. hr: {
  1722. borderColor: "#777",
  1723. width: "100%",
  1724. borderWidth: 0.5,
  1725. height: 0,
  1726. },
  1727. value: {
  1728. width: 20,
  1729. padding: [0, 20, 0, 30],
  1730. align: "left",
  1731. },
  1732. valueHead: {
  1733. color: "#333",
  1734. width: 20,
  1735. padding: [0, 20, 0, 30],
  1736. align: "center",
  1737. },
  1738. rate: {
  1739. width: 40,
  1740. align: "right",
  1741. padding: [0, 10, 0, 0],
  1742. },
  1743. rateHead: {
  1744. color: "#333",
  1745. width: 40,
  1746. align: "center",
  1747. padding: [0, 10, 0, 0],
  1748. },
  1749. },
  1750. },
  1751. },
  1752. {
  1753. value: this.chart.whouseList[0].fGrossweightD,
  1754. name: "占用库容",
  1755. },
  1756. {
  1757. value: parseFloat(
  1758. this.chart.whouseList[0].fTotalgross -
  1759. this.chart.whouseList[0].fGrossweightD
  1760. ).toFixed(1),
  1761. name: "空闲库容",
  1762. },
  1763. ],
  1764. emphasis: {
  1765. itemStyle: {
  1766. shadowBlur: 10,
  1767. shadowOffsetX: 0,
  1768. shadowColor: "rgba(0, 0, 0, 0.5)",
  1769. },
  1770. },
  1771. },
  1772. ],
  1773. });
  1774. },
  1775. drawLinetwo() {
  1776. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1777. let myChart = this.$echarts.init(document.getElementById("cargoOwner"));
  1778. // 绘制图表
  1779. myChart.setOption({
  1780. title: {
  1781. text: this.chart.whouseList[0].fName + "货权方统计",
  1782. subtext: "实时数据",
  1783. left: "center",
  1784. },
  1785. tooltip: {
  1786. trigger: "item",
  1787. formatter: "{a} <br/>{b}: {c} ({d}%)",
  1788. },
  1789. legend: {
  1790. bottom: 10,
  1791. left: "center",
  1792. data: this.name,
  1793. },
  1794. series: [
  1795. {
  1796. name: "访问来源",
  1797. type: "pie",
  1798. radius: ["40%", "60%"],
  1799. avoidLabelOverlap: false,
  1800. label: {
  1801. show: false,
  1802. position: "center",
  1803. },
  1804. emphasis: {
  1805. label: {
  1806. // show: true,
  1807. fontSize: "30",
  1808. fontWeight: "bold",
  1809. },
  1810. },
  1811. labelLine: {
  1812. show: false,
  1813. },
  1814. data: this.master,
  1815. },
  1816. ],
  1817. });
  1818. },
  1819. smartScreen(){
  1820. currentLogin().then(res=>{
  1821. const role = res.data.roles.some(item => item.roleKey == 'admin' || item.roleKey == 'IDC')
  1822. if (role){
  1823. this.getConfigKey("large.screen").then((response) => {
  1824. if (response.msg) {
  1825. window.open( 'http://119.3.74.195:9527/view/'+ response.msg +'?Authorization=' + getToken())
  1826. } else {
  1827. return this.$message.warning('模板开发中')
  1828. }
  1829. });
  1830. }else {
  1831. this.$message.warning('您无此权限查看面板');
  1832. }
  1833. })
  1834. },
  1835. commoDity() {
  1836. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1837. let myChart = this.$echarts.init(document.getElementById("commoDity"));
  1838. // 绘制图表
  1839. myChart.setOption({
  1840. title: {
  1841. text: this.chart.whouseList[0].fName + "商品统计",
  1842. subtext: "实时数据",
  1843. left: "center",
  1844. },
  1845. color: ["#3398DB"],
  1846. tooltip: {
  1847. trigger: "axis",
  1848. axisPointer: {
  1849. // 坐标轴指示器,坐标轴触发有效
  1850. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  1851. },
  1852. },
  1853. grid: {
  1854. left: "3%",
  1855. right: "4%",
  1856. bottom: "3%",
  1857. containLabel: true,
  1858. },
  1859. xAxis: [
  1860. {
  1861. type: "category",
  1862. data: this.commodity,
  1863. axisTick: {
  1864. alignWithLabel: true,
  1865. },
  1866. },
  1867. ],
  1868. yAxis: [
  1869. {
  1870. type: "value"
  1871. },
  1872. ],
  1873. series: [
  1874. {
  1875. name: "实时状态",
  1876. type: "bar",
  1877. barWidth: "60%",
  1878. data: this.commoditytwo,
  1879. label: {
  1880. show: true,
  1881. position: 'top',
  1882. valueAnimation: true
  1883. }
  1884. },
  1885. ],
  1886. });
  1887. },
  1888. openNewsDetails(id) {
  1889. this.tableDataTwo.forEach(item => {
  1890. if (item.noticeId === id) {
  1891. this.newsDetails.noticeTitle = item.noticeTitle;
  1892. this.newsDetails.noticeContent = item.noticeContent
  1893. }
  1894. })
  1895. this.newsVisible = true
  1896. },
  1897. // 跳转到更多公告页面
  1898. jumpMoreNews() {
  1899. this.$router.push({
  1900. path: "/notice/seeMore",
  1901. });
  1902. },
  1903. // 弹窗
  1904. openDialog(name) {
  1905. if (name == 'inStock') {
  1906. this.fastInStockVisble = true
  1907. this.$nextTick(() => {
  1908. this.$refs.fastInStock.init()
  1909. })
  1910. }
  1911. if (name === 'outStock') {
  1912. // this.$message.warning('模块开发中')
  1913. this.fastOutStockVisble = true
  1914. this.$nextTick(() => {
  1915. this.$refs.fastOutStock.init()
  1916. })
  1917. }
  1918. },
  1919. // 关闭
  1920. closeInStock() {
  1921. this.fastInStockVisble = false
  1922. },
  1923. closeOutStock() {
  1924. this.fastOutStockVisble = false
  1925. }
  1926. },
  1927. };
  1928. </script>
  1929. <style scoped lang="scss">
  1930. .block {
  1931. width: 100%;
  1932. display: flex;
  1933. flex-wrap: wrap;
  1934. justify-content: space-around;
  1935. li div:hover {
  1936. background-color: #025184;
  1937. }
  1938. li:nth-child(6) div,
  1939. li:nth-child(7) div,
  1940. li:nth-child(8) div,
  1941. li:nth-child(9) div,
  1942. li:nth-child(10) div {
  1943. background-color: #2f4554;
  1944. }
  1945. li:nth-child(6) div:hover,
  1946. li:nth-child(7) div:hover,
  1947. li:nth-child(8) div:hover,
  1948. li:nth-child(9) div:hover,
  1949. li:nth-child(10) div:hover {
  1950. background-color: #2f4454d1;
  1951. }
  1952. li {
  1953. width: 8%;
  1954. margin-left: 10px;
  1955. text-align: center;
  1956. cursor: pointer;
  1957. margin-bottom: 15px;
  1958. div {
  1959. //margin-top: 18px;
  1960. background-color: #1c84c6;
  1961. color: #ffffff;
  1962. border-radius: 10px;
  1963. height: 35px;
  1964. display: flex;
  1965. align-items: center;
  1966. justify-content: center;
  1967. }
  1968. p {
  1969. font-size: 10px;
  1970. }
  1971. }
  1972. }
  1973. .home {
  1974. blockquote {
  1975. padding: 10px 20px;
  1976. margin: 0 0 20px;
  1977. font-size: 17.5px;
  1978. border-left: 5px solid #eee;
  1979. }
  1980. hr {
  1981. margin-top: 20px;
  1982. margin-bottom: 20px;
  1983. border: 0;
  1984. border-top: 1px solid #eee;
  1985. }
  1986. .col-item {
  1987. margin-bottom: 20px;
  1988. }
  1989. ul {
  1990. padding: 0;
  1991. margin: 0;
  1992. }
  1993. font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  1994. font-size: 13px;
  1995. color: #676a6c;
  1996. overflow-x: hidden;
  1997. ul {
  1998. list-style-type: none;
  1999. }
  2000. h4 {
  2001. margin-top: 0px;
  2002. }
  2003. h2 {
  2004. margin-top: 10px;
  2005. font-size: 26px;
  2006. font-weight: 100;
  2007. }
  2008. p {
  2009. margin-top: 10px;
  2010. b {
  2011. font-weight: 700;
  2012. }
  2013. }
  2014. .update-log {
  2015. ol {
  2016. display: block;
  2017. list-style-type: decimal;
  2018. margin-block-start: 1em;
  2019. margin-block-end: 1em;
  2020. margin-inline-start: 0;
  2021. margin-inline-end: 0;
  2022. padding-inline-start: 40px;
  2023. }
  2024. }
  2025. }
  2026. .home-fleet {
  2027. display: flex;
  2028. .home-left {
  2029. width: 40%;
  2030. padding: 0 10px;
  2031. }
  2032. .home-right {
  2033. width: 60%;
  2034. padding: 0 10px;
  2035. }
  2036. .content-top {
  2037. display: flex;
  2038. .content-top-left {
  2039. display: flex;
  2040. width: 50%;
  2041. height: 100px;
  2042. border-bottom: 1px solid #e6ebf5;
  2043. border-right: 1px solid #e6ebf5;
  2044. padding: 10px;
  2045. justify-content: space-between;
  2046. }
  2047. .content-top-right {
  2048. display: flex;
  2049. width: 50%;
  2050. height: 100px;
  2051. border-bottom: 1px solid #e6ebf5;
  2052. padding: 10px;
  2053. justify-content: space-between;
  2054. }
  2055. }
  2056. .content-bottom {
  2057. display: flex;
  2058. height: 81px;
  2059. border-bottom: 1px solid #e6ebf5;
  2060. padding: 10px;
  2061. justify-content: space-between;
  2062. }
  2063. .content-bottom:last-child {
  2064. border-bottom: 0px;
  2065. }
  2066. .upper-right {
  2067. padding: 10px 0;
  2068. //height: 260px;
  2069. height: 417px;
  2070. }
  2071. .upper-right2 {
  2072. padding: 10px 0;
  2073. height: 104px;
  2074. }
  2075. }
  2076. .single_line {
  2077. overflow: hidden;
  2078. text-overflow: ellipsis;
  2079. white-space: nowrap;
  2080. }
  2081. @media screen and (max-width: 920px) {
  2082. .home-fleet {
  2083. display: flex;
  2084. flex-direction: column;
  2085. .home-left {
  2086. width: 100%;
  2087. }
  2088. .home-right {
  2089. width: 100%;
  2090. }
  2091. }
  2092. }
  2093. </style>
  2094. <style lang="scss">
  2095. .text img {
  2096. max-width: 100%;
  2097. height: auto;
  2098. }
  2099. .home_stock_table {
  2100. display: flex;
  2101. width: 20%;
  2102. justify-content: center;
  2103. align-self: center;
  2104. p{
  2105. display: inline-block;
  2106. white-space: nowrap;
  2107. width: 100%;
  2108. overflow: hidden;
  2109. text-overflow:ellipsis;
  2110. }
  2111. }
  2112. .home_stock_table:hover{
  2113. color: #1c84c6;
  2114. cursor:pointer
  2115. }
  2116. .home_stock_table_right {
  2117. display: flex;
  2118. width: 20%;
  2119. justify-content: space-around;
  2120. align-self: center;
  2121. }
  2122. .jingrun-news {
  2123. overflow: auto;
  2124. }
  2125. .html-box p {
  2126. width: 100%;
  2127. }
  2128. .html-box p img {
  2129. display: block;
  2130. margin: 0 auto;
  2131. max-width: 100% !important;
  2132. }
  2133. </style>