index.vue 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187
  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. boxCMCC:[],
  908. // 利润统计数据获得
  909. profitData: {
  910. xData: [],
  911. seriesData: [],
  912. },
  913. chart: [],
  914. warehouse: [],
  915. master: [],
  916. commodity: [],
  917. commoditytwo: [],
  918. name: [],
  919. tableDataTwo: [],
  920. fleetData: "",
  921. upperLeftCntrs: {},
  922. sysType: "",
  923. upperRights: [],
  924. // 新闻公告详情弹窗
  925. newsVisible: false,
  926. // 新闻公告内容
  927. newsDetails: {
  928. noticeTitle: '',
  929. noticeContent: ''
  930. },
  931. remindList: [],
  932. };
  933. },
  934. filters: {
  935. statusType(val) {
  936. switch (val) {
  937. case 10:
  938. return "车队安排";
  939. break;
  940. case 20:
  941. return "司机受理";
  942. break;
  943. case 30:
  944. return "司机出车";
  945. break;
  946. case 40:
  947. return "提箱";
  948. break;
  949. case 50:
  950. return "装卸货";
  951. break;
  952. case 60:
  953. return "还卸柜";
  954. break;
  955. case 70:
  956. return "费用确认";
  957. break;
  958. default:
  959. return "回单";
  960. }
  961. },
  962. },
  963. components: {
  964. chiCard,
  965. fastInStock,
  966. fastOutStock,
  967. },
  968. created() {
  969. this.getConfigKey("data_print_title").then((response) => {
  970. Cookies.set("companyName", response.msg);
  971. });
  972. this.sysType = Cookies.get("sysType");
  973. if (this.sysType == 2) {
  974. queryHomeInfo().then((response) => {
  975. this.fleetData = response.data;
  976. if (response.data.upperRight.length > 0) {
  977. this.upperRights = response.data.upperRight.slice(0, 10);
  978. }
  979. this.upperLeftCntrs = response.data.upperLeftCntrs;
  980. });
  981. }
  982. // console.log(this.sysType);
  983. },
  984. activated() {
  985. this.getList();
  986. this.warehouses();
  987. this.inquiry();
  988. if (this.sysType == 1) {
  989. remindExpirationData().then(res => {
  990. this.remindList = res.rows
  991. })
  992. }
  993. this.dataList.addressName = []
  994. this.dataList.boxNumber = []
  995. this.dataList.bookingRanking.text = []
  996. this.dataList.bookingRanking.textTwo = []
  997. this.dataList.bookingRanking.data = []
  998. this.dataList.bookingRanking.dataTwo = []
  999. if (Number(this.sysType) === 3){
  1000. let arr=[]
  1001. boxDistribution().then(res =>{
  1002. res.data.forEach(item =>{
  1003. this.dataList.addressName.push(item.addressName)
  1004. this.dataList.boxNumber.push(item.boxNumber)
  1005. if(item.details){
  1006. this.boxCMCC=item.details
  1007. }
  1008. })
  1009. this.boxDistribution()
  1010. })
  1011. let l = 0
  1012. bookingSpace().then(res=>{
  1013. res.data.forEach(item =>{
  1014. this.dataList.bookingRanking.text.push(item.corpName)
  1015. this.dataList.bookingRanking.data.push({
  1016. name: item.corpName,
  1017. type: 'line',
  1018. stack: l,
  1019. 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]
  1020. })
  1021. })
  1022. l++
  1023. this.ranking()
  1024. })
  1025. locationRanking().then(res=>{
  1026. let i = 0
  1027. res.data.forEach(item =>{
  1028. this.dataList.bookingRanking.textTwo.push(item.corpName)
  1029. this.dataList.bookingRanking.dataTwo.push({
  1030. name: item.corpName,
  1031. type: 'line',
  1032. stack: i,
  1033. 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]
  1034. })
  1035. i++
  1036. })
  1037. this.rankingTwo()
  1038. })
  1039. shipDynamics().then(res=>{
  1040. console.log(res)
  1041. this.bookingData = res.data
  1042. })
  1043. this.profitData.xData = []
  1044. this.profitData.seriesData = []
  1045. getProfitData({pageSize: 24, pageNum: 1}).then(res => {
  1046. res.rows.forEach(item => {
  1047. if (!item.shipsName) {
  1048. item.shipsName = ''
  1049. }
  1050. if (!item.voyage) {
  1051. item.voyage = ''
  1052. }
  1053. let name = item.shipsName + '-' + item.voyage
  1054. this.profitData.xData.push(name)
  1055. this.profitData.seriesData.push((Number(item.profit) / 10000).toFixed(2))
  1056. // this.profitData.seriesData.push(item.profit)
  1057. })
  1058. this.oceanVessel()
  1059. })
  1060. }
  1061. getUserProfile().then(res=>{
  1062. for (let item in res.data.roles){
  1063. if (res.data.roles[item].roleKey == "wealthStatistics" || res.data.roles[item].roleKey =="admin"){
  1064. getFeeStatistics().then(res=>{
  1065. this.financeLine(res.data)
  1066. })
  1067. getArrearsStatistics().then(res=>{
  1068. this.customerArrears(res.data)
  1069. })
  1070. this.wealthChart = true
  1071. }
  1072. }
  1073. })
  1074. },
  1075. methods: {
  1076. // 船名航次
  1077. oceanVessel() {
  1078. let myChart = this.$echarts.init(document.getElementById("voyage"));
  1079. const color = ['#EE6666', '#7DD2F3']
  1080. myChart.setOption({
  1081. title: {
  1082. text: '利润统计(前二十四)',
  1083. left: 'center'
  1084. },
  1085. tooltip: {
  1086. trigger: 'axis'
  1087. },
  1088. legend: {
  1089. orient: 'vertical',
  1090. left: 'right',
  1091. data: []
  1092. },
  1093. grid: {
  1094. // left: '10%',
  1095. bottom:'30%'
  1096. },
  1097. xAxis: {
  1098. axisLabel: {
  1099. rotate: 40
  1100. },
  1101. type: 'category',
  1102. boundaryGap: false,
  1103. data: this.profitData.xData,
  1104. // 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',]
  1105. },
  1106. yAxis: {
  1107. type: 'value',
  1108. name: '万元'
  1109. },
  1110. series: [
  1111. {
  1112. type: 'line',
  1113. smooth: false,
  1114. data: this.profitData.seriesData,
  1115. // data:[1000,2112,333,4444,6323,11,234]
  1116. }
  1117. ]
  1118. })
  1119. },
  1120. //箱分布图表
  1121. ranking() {
  1122. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1123. let myChart = this.$echarts.init(document.getElementById("bookingRanking"));
  1124. // 绘制图表
  1125. myChart.setOption({
  1126. title: {
  1127. text: '订舱排名(前十)',
  1128. left: 'center'
  1129. },
  1130. tooltip: {
  1131. trigger: 'axis'
  1132. },
  1133. legend: {
  1134. orient: 'vertical',
  1135. left: 'right',
  1136. data: this.dataList.bookingRanking.text
  1137. },
  1138. grid: {
  1139. left: '3%',
  1140. right: '20%',
  1141. bottom: '3%',
  1142. containLabel: true
  1143. },
  1144. xAxis: {
  1145. type: 'category',
  1146. boundaryGap: false,
  1147. data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
  1148. },
  1149. yAxis: {
  1150. type: 'value'
  1151. },
  1152. series: this.dataList.bookingRanking.data
  1153. });
  1154. },
  1155. //箱分布图表
  1156. rankingTwo() {
  1157. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1158. let myChart = this.$echarts.init(document.getElementById("bookingRankingTwo"));
  1159. // 绘制图表
  1160. myChart.setOption({
  1161. title: {
  1162. text: '应收款排名(前十)',
  1163. left: 'center'
  1164. },
  1165. tooltip: {
  1166. trigger: 'axis'
  1167. },
  1168. legend: {
  1169. orient: 'vertical',
  1170. left: 'right',
  1171. data: this.dataList.bookingRanking.textTwo
  1172. },
  1173. grid: {
  1174. left: '3%',
  1175. right: '20%',
  1176. bottom: '3%',
  1177. containLabel: true
  1178. },
  1179. xAxis: {
  1180. type: 'category',
  1181. boundaryGap: false,
  1182. data: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
  1183. },
  1184. yAxis: {
  1185. type: 'value'
  1186. },
  1187. series: this.dataList.bookingRanking.dataTwo
  1188. });
  1189. },
  1190. //箱分布图表
  1191. boxDistribution() {
  1192. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1193. let myChart = this.$echarts.init(document.getElementById("distribution"));
  1194. // 绘制图表
  1195. let _this=this
  1196. myChart.setOption({
  1197. title: {
  1198. text: "箱分布",
  1199. left: "center",
  1200. },
  1201. xAxis: {
  1202. type: 'category',
  1203. data: this.dataList.addressName
  1204. },
  1205. tooltip: {
  1206. trigger: 'axis',
  1207. formatter(params){
  1208. let res=''
  1209. params.forEach(item=>{
  1210. if(item.name=='在船'){
  1211. params.forEach(item=>{
  1212. let data=''
  1213. if(_this.boxCMCC.length>0){
  1214. _this.boxCMCC.forEach(e=>{
  1215. data+=e.f_vsl+':'+e.f_voy+'</br>'
  1216. })
  1217. }else{
  1218. data='-'+'</br>'
  1219. }
  1220. res=item.axisValueLabel+'</br>'+data+item.marker+item.data
  1221. })
  1222. }else{
  1223. params.forEach(item=>{
  1224. res=item.axisValueLabel+'</br>'+item.marker+item.data
  1225. })
  1226. }
  1227. })
  1228. return res
  1229. }
  1230. },
  1231. yAxis: {
  1232. type: 'value'
  1233. },
  1234. toolbox: {
  1235. feature: {
  1236. saveAsImage: {}
  1237. }
  1238. },
  1239. series: [{
  1240. data: this.dataList.boxNumber,
  1241. type: 'line'
  1242. }]
  1243. });
  1244. },
  1245. goPage(id) {
  1246. this.$router.push({
  1247. path: "/track/cabinet",
  1248. query: { id: id },
  1249. });
  1250. },
  1251. //跳转审批页面
  1252. approval(row) {
  1253. console.log(row)
  1254. switch (row.refno2) {
  1255. case "CDZZ": {
  1256. this.$router.push({
  1257. path: "/business/inAndOutStock",
  1258. query: { id: row.billId }
  1259. })
  1260. break;
  1261. }
  1262. case "FYBG": {
  1263. if (this.sysType == 1) {
  1264. this.$router.push({
  1265. path: "/business/costModify",
  1266. query: { id: row.billId }
  1267. })
  1268. } else if (this.sysType == 3) {
  1269. this.$router.push({
  1270. path: "/domesticTrade/costModify",
  1271. query: { id: row.billId }
  1272. })
  1273. }
  1274. break;
  1275. }
  1276. case "SJRK": {
  1277. this.$router.push({
  1278. path: "/business/inStock",
  1279. query: { id: row.billId},
  1280. });
  1281. break;
  1282. }
  1283. case "SJCK": {
  1284. this.$router.push({
  1285. path: "/business/outStock",
  1286. query: { id: row.billId},
  1287. });
  1288. break;
  1289. }
  1290. case "HQZY": {
  1291. this.$router.push({
  1292. path: "/business/goodsTransfer",
  1293. query: { id: row.billId},
  1294. });
  1295. break;
  1296. }
  1297. case "CKDB": {
  1298. this.$router.push({
  1299. path: "/business/stockTransfer",
  1300. query: { id: row.billId},
  1301. });
  1302. break;
  1303. }
  1304. case "HWTG": {
  1305. this.$router.push({
  1306. path: "/business/cargoClearance",
  1307. query: { id: row.billId},
  1308. });
  1309. break;
  1310. }
  1311. case "JSCCF": {
  1312. this.$router.push({
  1313. path: "/business/agreement",
  1314. query: { data: JSON.stringify(row) },
  1315. });
  1316. break;
  1317. }
  1318. case "CCF": {
  1319. this.$router.push({
  1320. path: "/agreement/agreementStorage",
  1321. query: { data: JSON.stringify(row) },
  1322. });
  1323. break;
  1324. }
  1325. case "ZYF": {
  1326. this.$router.push({
  1327. path: "/agreement/agreementTask",
  1328. query: { data: JSON.stringify(row) },
  1329. });
  1330. break;
  1331. }
  1332. case "SF": {
  1333. this.$router.push({
  1334. path: "/finance/charge",
  1335. query: { data: JSON.stringify(row) },
  1336. });
  1337. break;
  1338. }
  1339. case "DZ": {
  1340. this.$router.push({
  1341. path: "/finance/contrast",
  1342. query: { data: JSON.stringify(row) },
  1343. });
  1344. break;
  1345. }
  1346. case "FF": {
  1347. this.$router.push({
  1348. path: "/finance/payment",
  1349. query: { data: JSON.stringify(row) },
  1350. });
  1351. break;
  1352. }
  1353. case "ApplyFP": {
  1354. this.$router.push({
  1355. path: "/finance/chargeInvoice",
  1356. query: { data: JSON.stringify(row) },
  1357. });
  1358. break;
  1359. }
  1360. case "KHDZ": {
  1361. this.$router.push({
  1362. path: "/finance/contrast",
  1363. query: { data: JSON.stringify(row) },
  1364. });
  1365. break;
  1366. }
  1367. case "KHSF": {
  1368. this.$router.push({
  1369. path: "/finance/charge",
  1370. query: { data: JSON.stringify(row) },
  1371. });
  1372. break;
  1373. }
  1374. case "KHFF": {
  1375. this.$router.push({
  1376. path: "/finance/payment",
  1377. query: { data: JSON.stringify(row) },
  1378. });
  1379. break;
  1380. }
  1381. case "KHDD": {
  1382. this.$router.push({
  1383. path: "/domesticTrade/orderInformation",
  1384. query: { list: JSON.stringify(row) },
  1385. });
  1386. break;
  1387. }
  1388. case "SJRKITEM": {
  1389. this.$router.push({
  1390. path: "/business/inStock",
  1391. query: { id: row.billId},
  1392. });
  1393. break;
  1394. }
  1395. case "SJCKITEM": {
  1396. this.$router.push({
  1397. path: "/business/outStock",
  1398. query: { id: row.billId},
  1399. });
  1400. break;
  1401. }
  1402. case "XGDD": {
  1403. this.$router.push({
  1404. path: "/domesticTrade/orderInformation",
  1405. query: {testing:JSON.stringify(row)},
  1406. });
  1407. break;
  1408. }
  1409. case "XGTJ": {
  1410. this.$router.push({
  1411. path: "/domesticTrade/orderInformation",
  1412. query: {testing:JSON.stringify(row)},
  1413. });
  1414. break;
  1415. }
  1416. case "DDSC": {
  1417. this.$router.push({
  1418. path: "/domesticTrade/orderInformation",
  1419. query: {testing:JSON.stringify(row)},
  1420. });
  1421. break;
  1422. }
  1423. default: {
  1424. return this.$message.error("未知错误,无状态");
  1425. }
  1426. }
  1427. },
  1428. inquiry() {
  1429. let data = {
  1430. actId: "",
  1431. auditStatus: 'S'
  1432. };
  1433. inquiry(data).then((res) => {
  1434. res.data.map(e=>{
  1435. if(e.auditItem){
  1436. e.auditItem=e.auditItem.slice(0, 10)
  1437. }
  1438. })
  1439. this.tableData = res.data;
  1440. });
  1441. },
  1442. querytoDo(res) {
  1443. this.dialogVisible = true;
  1444. this.text = res;
  1445. },
  1446. handleClose(done) {
  1447. this.dialogVisible = false;
  1448. },
  1449. firstinventory(fId) {
  1450. // console.log(this.warehouse);
  1451. information(fId).then((response) => {
  1452. this.chart = response.data;
  1453. if (this.chart.whouseList.length !== 0) {
  1454. for (let index of this.chart.corpsListWhouse) {
  1455. this.master.push({
  1456. name: index.fName,
  1457. value: index.fGrossweightD,
  1458. });
  1459. this.name.push(index.fName);
  1460. }
  1461. for (let index of this.chart.goodslistWhouse) {
  1462. this.commodity.push(index.fName);
  1463. this.commoditytwo.push(index.fGrossweightD);
  1464. }
  1465. this.drawLine();
  1466. this.drawLinetwo();
  1467. this.commoDity();
  1468. } else {
  1469. this.chart = {
  1470. corpsListWhouse: [
  1471. {
  1472. balance: 0,
  1473. fCorpid: 58,
  1474. fGrossweightD: 0,
  1475. fName: "展示数据",
  1476. fTotalgross: 10000,
  1477. fWarehouseName: "展示数据",
  1478. },
  1479. ],
  1480. goodslistWhouse: [
  1481. {
  1482. balance: 0,
  1483. fGoodsid: 13,
  1484. fGrossweightD: 0,
  1485. fName: "展示商品",
  1486. fTotalgross: 10000,
  1487. fWarehouseName: "展示数据",
  1488. },
  1489. ],
  1490. whouseList: [
  1491. {
  1492. fGrossweightD: 0,
  1493. fName: "展示数据",
  1494. fTotalgross: 10000,
  1495. fWarehouseid: 36,
  1496. },
  1497. ],
  1498. };
  1499. for (let index of this.chart.corpsListWhouse) {
  1500. this.master.push({
  1501. name: index.fName,
  1502. value: index.fGrossweightD,
  1503. });
  1504. this.name.push(index.fName);
  1505. }
  1506. for (let index of this.chart.goodslistWhouse) {
  1507. this.commodity.push(index.fName);
  1508. this.commoditytwo.push(index.fGrossweightD);
  1509. }
  1510. this.drawLine();
  1511. this.drawLinetwo();
  1512. this.commoDity();
  1513. }
  1514. });
  1515. },
  1516. query() {
  1517. this.master = [];
  1518. this.commodity = [];
  1519. this.commoditytwo = [];
  1520. this.name = [];
  1521. if (this.select === "") {
  1522. return this.select;
  1523. } else {
  1524. information(this.select).then((response) => {
  1525. this.chart = response.data;
  1526. for (let index of this.chart.corpsListWhouse) {
  1527. this.master.push({
  1528. name: index.fName,
  1529. value: index.fGrossweightD,
  1530. });
  1531. this.name.push(index.fName);
  1532. }
  1533. for (let index of this.chart.goodslistWhouse) {
  1534. this.commodity.push(index.fName);
  1535. this.commoditytwo.push(index.fGrossweightD);
  1536. }
  1537. this.drawLine();
  1538. this.drawLinetwo();
  1539. this.commoDity();
  1540. });
  1541. }
  1542. },
  1543. jump(res) {
  1544. this.$router.push({ path: res });
  1545. },
  1546. //设置单元格边框
  1547. cellStyle({ row, column, rowIndex, columnIndex }) {
  1548. return "border-bottom: 1px dashed rgb(223, 230, 236)";
  1549. },
  1550. //查询消息中心
  1551. getList() {
  1552. this.loading = true;
  1553. listCorps(this.queryParams).then((response) => {
  1554. if (response.rows.length > 0) {
  1555. // this.tableDataTwo = response.rows.slice(0, 10);
  1556. this.tableDataTwo = response.rows
  1557. }
  1558. });
  1559. },
  1560. //查询仓库
  1561. warehouses() {
  1562. warehouse().then((response) => {
  1563. this.warehouse = [];
  1564. for (let index of response.rows) {
  1565. this.warehouse.push({
  1566. fName: index.fName,
  1567. fWarehouseid: index.fWarehouseid,
  1568. });
  1569. }
  1570. // console.log(this.warehouse);
  1571. this.firstinventory(this.warehouse[0].fWarehouseid);
  1572. });
  1573. },
  1574. goTarget(href) {
  1575. window.open(href, "_blank");
  1576. },
  1577. //财务图表
  1578. financeLine(data) {
  1579. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1580. let myChart = this.$echarts.init(document.getElementById("finance"));
  1581. // 绘制图表
  1582. myChart.setOption({
  1583. legend: {
  1584. left: '10%',
  1585. top: '4%'
  1586. },
  1587. title: {
  1588. text: "利润分析",
  1589. left: "center",
  1590. subtext: "实时数据"
  1591. },
  1592. tooltip: {},
  1593. color: ["#5470c6","#92cc75","#fac858"],
  1594. dataset: data,
  1595. xAxis: { type: 'category' },
  1596. yAxis: [
  1597. {
  1598. type: 'value',
  1599. scale: true,
  1600. axisLabel: {
  1601. formatter: '{value} 万元'
  1602. }
  1603. }
  1604. ],
  1605. grid: {
  1606. left: "3%",
  1607. right: "4%",
  1608. bottom: "3%",
  1609. containLabel: true,
  1610. },
  1611. // Declare several bar series, each will be mapped
  1612. // to a column of dataset.source by default.
  1613. series: [{ type: 'bar',
  1614. label: {
  1615. show: true,
  1616. position: 'top',
  1617. valueAnimation: true
  1618. }}, { type: 'bar',
  1619. label: {
  1620. show: true,
  1621. position: 'top',
  1622. valueAnimation: true
  1623. }}, { type: 'bar',
  1624. label: {
  1625. show: true,
  1626. position: 'top',
  1627. valueAnimation: true
  1628. }}]
  1629. });
  1630. },
  1631. customerArrears(data){
  1632. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1633. let myChart = this.$echarts.init(document.getElementById("arrears"));
  1634. // 绘制图表
  1635. myChart.setOption({
  1636. tooltip: {
  1637. trigger: 'axis',
  1638. axisPointer: {
  1639. type: 'shadow'
  1640. }
  1641. },
  1642. title: {
  1643. text: "欠款排行",
  1644. left: "center",
  1645. subtext: "实时数据"
  1646. },
  1647. color: ["#3298db"],
  1648. grid: {
  1649. left: '3%',
  1650. right: '4%',
  1651. bottom: '3%',
  1652. containLabel: true
  1653. },
  1654. xAxis: [
  1655. {
  1656. type: 'category',
  1657. data: data.key,
  1658. axisTick: {
  1659. alignWithLabel: true
  1660. }
  1661. }
  1662. ],
  1663. yAxis: [
  1664. {
  1665. type: 'value',
  1666. scale: true,
  1667. axisLabel: {
  1668. formatter: '{value} 万元'
  1669. }
  1670. }
  1671. ],
  1672. series: [
  1673. {
  1674. name: '欠款',
  1675. type: 'bar',
  1676. barWidth: '60%',
  1677. data: data.value,
  1678. label: {
  1679. show: true,
  1680. position: 'top',
  1681. valueAnimation: true
  1682. }
  1683. }
  1684. ]
  1685. })
  1686. },
  1687. //仓库图表
  1688. drawLine() {
  1689. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1690. let myChart = this.$echarts.init(document.getElementById("box"));
  1691. // 绘制图表
  1692. myChart.setOption({
  1693. title: {
  1694. text: this.chart.whouseList[0].fName + "统计",
  1695. subtext: "实时数据",
  1696. left: "center",
  1697. },
  1698. tooltip: {
  1699. trigger: "item",
  1700. formatter: "{a} <br/>{b} : {c} ({d}%)",
  1701. },
  1702. legend: {
  1703. bottom: 10,
  1704. left: "center",
  1705. data: ["空闲库容", "占用库容"],
  1706. },
  1707. series: [
  1708. {
  1709. type: "pie",
  1710. name: "实时数据",
  1711. radius: "65%",
  1712. center: ["50%", "50%"],
  1713. selectedMode: "single",
  1714. data: [
  1715. {
  1716. label: {
  1717. backgroundColor: "#eee",
  1718. borderColor: "#777",
  1719. borderWidth: 1,
  1720. borderRadius: 4,
  1721. rich: {
  1722. title: {
  1723. color: "#eee",
  1724. align: "center",
  1725. },
  1726. abg: {
  1727. backgroundColor: "#333",
  1728. width: "100%",
  1729. align: "right",
  1730. height: 25,
  1731. borderRadius: [4, 4, 0, 0],
  1732. },
  1733. Sunny: {
  1734. height: 30,
  1735. align: "left",
  1736. },
  1737. Cloudy: {
  1738. height: 30,
  1739. align: "left",
  1740. },
  1741. Showers: {
  1742. height: 30,
  1743. align: "left",
  1744. },
  1745. weatherHead: {
  1746. color: "#333",
  1747. height: 24,
  1748. align: "left",
  1749. },
  1750. hr: {
  1751. borderColor: "#777",
  1752. width: "100%",
  1753. borderWidth: 0.5,
  1754. height: 0,
  1755. },
  1756. value: {
  1757. width: 20,
  1758. padding: [0, 20, 0, 30],
  1759. align: "left",
  1760. },
  1761. valueHead: {
  1762. color: "#333",
  1763. width: 20,
  1764. padding: [0, 20, 0, 30],
  1765. align: "center",
  1766. },
  1767. rate: {
  1768. width: 40,
  1769. align: "right",
  1770. padding: [0, 10, 0, 0],
  1771. },
  1772. rateHead: {
  1773. color: "#333",
  1774. width: 40,
  1775. align: "center",
  1776. padding: [0, 10, 0, 0],
  1777. },
  1778. },
  1779. },
  1780. },
  1781. {
  1782. value: this.chart.whouseList[0].fGrossweightD,
  1783. name: "占用库容",
  1784. },
  1785. {
  1786. value: parseFloat(
  1787. this.chart.whouseList[0].fTotalgross -
  1788. this.chart.whouseList[0].fGrossweightD
  1789. ).toFixed(1),
  1790. name: "空闲库容",
  1791. },
  1792. ],
  1793. emphasis: {
  1794. itemStyle: {
  1795. shadowBlur: 10,
  1796. shadowOffsetX: 0,
  1797. shadowColor: "rgba(0, 0, 0, 0.5)",
  1798. },
  1799. },
  1800. },
  1801. ],
  1802. });
  1803. },
  1804. drawLinetwo() {
  1805. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1806. let myChart = this.$echarts.init(document.getElementById("cargoOwner"));
  1807. // 绘制图表
  1808. myChart.setOption({
  1809. title: {
  1810. text: this.chart.whouseList[0].fName + "货权方统计",
  1811. subtext: "实时数据",
  1812. left: "center",
  1813. },
  1814. tooltip: {
  1815. trigger: "item",
  1816. formatter: "{a} <br/>{b}: {c} ({d}%)",
  1817. },
  1818. legend: {
  1819. bottom: 10,
  1820. left: "center",
  1821. data: this.name,
  1822. },
  1823. series: [
  1824. {
  1825. name: "访问来源",
  1826. type: "pie",
  1827. radius: ["40%", "60%"],
  1828. avoidLabelOverlap: false,
  1829. label: {
  1830. show: false,
  1831. position: "center",
  1832. },
  1833. emphasis: {
  1834. label: {
  1835. // show: true,
  1836. fontSize: "30",
  1837. fontWeight: "bold",
  1838. },
  1839. },
  1840. labelLine: {
  1841. show: false,
  1842. },
  1843. data: this.master,
  1844. },
  1845. ],
  1846. });
  1847. },
  1848. smartScreen(){
  1849. currentLogin().then(res=>{
  1850. const role = res.data.roles.some(item => item.roleKey == 'admin' || item.roleKey == 'IDC')
  1851. if (role){
  1852. this.getConfigKey("large.screen").then((response) => {
  1853. if (response.msg) {
  1854. window.open( 'http://119.3.74.195:9527/view/'+ response.msg +'?Authorization=' + getToken())
  1855. } else {
  1856. return this.$message.warning('模板开发中')
  1857. }
  1858. });
  1859. }else {
  1860. this.$message.warning('您无此权限查看面板');
  1861. }
  1862. })
  1863. },
  1864. commoDity() {
  1865. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1866. let myChart = this.$echarts.init(document.getElementById("commoDity"));
  1867. // 绘制图表
  1868. myChart.setOption({
  1869. title: {
  1870. text: this.chart.whouseList[0].fName + "商品统计",
  1871. subtext: "实时数据",
  1872. left: "center",
  1873. },
  1874. color: ["#3398DB"],
  1875. tooltip: {
  1876. trigger: "axis",
  1877. axisPointer: {
  1878. // 坐标轴指示器,坐标轴触发有效
  1879. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  1880. },
  1881. },
  1882. grid: {
  1883. left: "3%",
  1884. right: "4%",
  1885. bottom: "3%",
  1886. containLabel: true,
  1887. },
  1888. xAxis: [
  1889. {
  1890. type: "category",
  1891. data: this.commodity,
  1892. axisTick: {
  1893. alignWithLabel: true,
  1894. },
  1895. },
  1896. ],
  1897. yAxis: [
  1898. {
  1899. type: "value"
  1900. },
  1901. ],
  1902. series: [
  1903. {
  1904. name: "实时状态",
  1905. type: "bar",
  1906. barWidth: "60%",
  1907. data: this.commoditytwo,
  1908. label: {
  1909. show: true,
  1910. position: 'top',
  1911. valueAnimation: true
  1912. }
  1913. },
  1914. ],
  1915. });
  1916. },
  1917. openNewsDetails(id) {
  1918. this.tableDataTwo.forEach(item => {
  1919. if (item.noticeId === id) {
  1920. this.newsDetails.noticeTitle = item.noticeTitle;
  1921. this.newsDetails.noticeContent = item.noticeContent
  1922. }
  1923. })
  1924. this.newsVisible = true
  1925. },
  1926. // 跳转到更多公告页面
  1927. jumpMoreNews() {
  1928. this.$router.push({
  1929. path: "/notice/seeMore",
  1930. });
  1931. },
  1932. // 弹窗
  1933. openDialog(name) {
  1934. if (name == 'inStock') {
  1935. this.fastInStockVisble = true
  1936. this.$nextTick(() => {
  1937. this.$refs.fastInStock.init()
  1938. })
  1939. }
  1940. if (name === 'outStock') {
  1941. // this.$message.warning('模块开发中')
  1942. this.fastOutStockVisble = true
  1943. this.$nextTick(() => {
  1944. this.$refs.fastOutStock.init()
  1945. })
  1946. }
  1947. },
  1948. // 关闭
  1949. closeInStock() {
  1950. this.fastInStockVisble = false
  1951. },
  1952. closeOutStock() {
  1953. this.fastOutStockVisble = false
  1954. }
  1955. },
  1956. };
  1957. </script>
  1958. <style scoped lang="scss">
  1959. .block {
  1960. width: 100%;
  1961. display: flex;
  1962. flex-wrap: wrap;
  1963. justify-content: space-around;
  1964. li div:hover {
  1965. background-color: #025184;
  1966. }
  1967. li:nth-child(6) div,
  1968. li:nth-child(7) div,
  1969. li:nth-child(8) div,
  1970. li:nth-child(9) div,
  1971. li:nth-child(10) div {
  1972. background-color: #2f4554;
  1973. }
  1974. li:nth-child(6) div:hover,
  1975. li:nth-child(7) div:hover,
  1976. li:nth-child(8) div:hover,
  1977. li:nth-child(9) div:hover,
  1978. li:nth-child(10) div:hover {
  1979. background-color: #2f4454d1;
  1980. }
  1981. li {
  1982. width: 8%;
  1983. margin-left: 10px;
  1984. text-align: center;
  1985. cursor: pointer;
  1986. margin-bottom: 15px;
  1987. div {
  1988. //margin-top: 18px;
  1989. background-color: #1c84c6;
  1990. color: #ffffff;
  1991. border-radius: 10px;
  1992. height: 35px;
  1993. display: flex;
  1994. align-items: center;
  1995. justify-content: center;
  1996. }
  1997. p {
  1998. font-size: 10px;
  1999. }
  2000. }
  2001. }
  2002. .home {
  2003. blockquote {
  2004. padding: 10px 20px;
  2005. margin: 0 0 20px;
  2006. font-size: 17.5px;
  2007. border-left: 5px solid #eee;
  2008. }
  2009. hr {
  2010. margin-top: 20px;
  2011. margin-bottom: 20px;
  2012. border: 0;
  2013. border-top: 1px solid #eee;
  2014. }
  2015. .col-item {
  2016. margin-bottom: 20px;
  2017. }
  2018. ul {
  2019. padding: 0;
  2020. margin: 0;
  2021. }
  2022. font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  2023. font-size: 13px;
  2024. color: #676a6c;
  2025. overflow-x: hidden;
  2026. ul {
  2027. list-style-type: none;
  2028. }
  2029. h4 {
  2030. margin-top: 0px;
  2031. }
  2032. h2 {
  2033. margin-top: 10px;
  2034. font-size: 26px;
  2035. font-weight: 100;
  2036. }
  2037. p {
  2038. margin-top: 10px;
  2039. b {
  2040. font-weight: 700;
  2041. }
  2042. }
  2043. .update-log {
  2044. ol {
  2045. display: block;
  2046. list-style-type: decimal;
  2047. margin-block-start: 1em;
  2048. margin-block-end: 1em;
  2049. margin-inline-start: 0;
  2050. margin-inline-end: 0;
  2051. padding-inline-start: 40px;
  2052. }
  2053. }
  2054. }
  2055. .home-fleet {
  2056. display: flex;
  2057. .home-left {
  2058. width: 40%;
  2059. padding: 0 10px;
  2060. }
  2061. .home-right {
  2062. width: 60%;
  2063. padding: 0 10px;
  2064. }
  2065. .content-top {
  2066. display: flex;
  2067. .content-top-left {
  2068. display: flex;
  2069. width: 50%;
  2070. height: 100px;
  2071. border-bottom: 1px solid #e6ebf5;
  2072. border-right: 1px solid #e6ebf5;
  2073. padding: 10px;
  2074. justify-content: space-between;
  2075. }
  2076. .content-top-right {
  2077. display: flex;
  2078. width: 50%;
  2079. height: 100px;
  2080. border-bottom: 1px solid #e6ebf5;
  2081. padding: 10px;
  2082. justify-content: space-between;
  2083. }
  2084. }
  2085. .content-bottom {
  2086. display: flex;
  2087. height: 81px;
  2088. border-bottom: 1px solid #e6ebf5;
  2089. padding: 10px;
  2090. justify-content: space-between;
  2091. }
  2092. .content-bottom:last-child {
  2093. border-bottom: 0px;
  2094. }
  2095. .upper-right {
  2096. padding: 10px 0;
  2097. //height: 260px;
  2098. height: 417px;
  2099. }
  2100. .upper-right2 {
  2101. padding: 10px 0;
  2102. height: 104px;
  2103. }
  2104. }
  2105. .single_line {
  2106. overflow: hidden;
  2107. text-overflow: ellipsis;
  2108. white-space: nowrap;
  2109. }
  2110. @media screen and (max-width: 920px) {
  2111. .home-fleet {
  2112. display: flex;
  2113. flex-direction: column;
  2114. .home-left {
  2115. width: 100%;
  2116. }
  2117. .home-right {
  2118. width: 100%;
  2119. }
  2120. }
  2121. }
  2122. </style>
  2123. <style lang="scss">
  2124. .text img {
  2125. max-width: 100%;
  2126. height: auto;
  2127. }
  2128. .home_stock_table {
  2129. display: flex;
  2130. width: 20%;
  2131. justify-content: center;
  2132. align-self: center;
  2133. p{
  2134. display: inline-block;
  2135. white-space: nowrap;
  2136. width: 100%;
  2137. overflow: hidden;
  2138. text-overflow:ellipsis;
  2139. }
  2140. }
  2141. .home_stock_table:hover{
  2142. color: #1c84c6;
  2143. cursor:pointer
  2144. }
  2145. .home_stock_table_right {
  2146. display: flex;
  2147. width: 20%;
  2148. justify-content: space-around;
  2149. align-self: center;
  2150. }
  2151. .jingrun-news {
  2152. overflow: auto;
  2153. }
  2154. .html-box p {
  2155. width: 100%;
  2156. }
  2157. .html-box p img {
  2158. display: block;
  2159. margin: 0 auto;
  2160. max-width: 100% !important;
  2161. }
  2162. </style>