index.vue 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346
  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">
  7. <li @click="jump('/business/inStock')">
  8. <div>
  9. <i
  10. class="el-icon-download"
  11. style="font-size: 50px; text-align: center"
  12. ></i>
  13. <p>入库</p>
  14. </div>
  15. </li>
  16. <li @click="jump('/business/outStock')">
  17. <div>
  18. <i
  19. class="el-icon-upload2"
  20. style="font-size: 50px; text-align: center"
  21. ></i>
  22. <p>出库</p>
  23. </div>
  24. </li>
  25. <li @click="jump('/basicdata/corps')">
  26. <div>
  27. <i
  28. class="el-icon-s-custom"
  29. style="font-size: 50px; text-align: center"
  30. ></i>
  31. <p>新增用户</p>
  32. </div>
  33. </li>
  34. <li @click="jump('/basicdata/goods')">
  35. <div>
  36. <i
  37. class="el-icon-s-cooperation"
  38. style="font-size: 50px; text-align: center"
  39. ></i>
  40. <p>新增商品</p>
  41. </div>
  42. </li>
  43. <li @click="jump('/business/stockTransfer')">
  44. <div>
  45. <i
  46. class="el-icon-connection"
  47. style="font-size: 50px; text-align: center"
  48. ></i>
  49. <p>调拨</p>
  50. </div>
  51. </li>
  52. <li @click="jump('/finance/charge')">
  53. <div>
  54. <i
  55. class="el-icon-wallet"
  56. style="font-size: 50px; text-align: center"
  57. ></i>
  58. <p>收款</p>
  59. </div>
  60. </li>
  61. <li @click="jump('/finance/payment')">
  62. <div>
  63. <i
  64. class="el-icon-money"
  65. style="font-size: 50px; text-align: center"
  66. ></i>
  67. <p>付款</p>
  68. </div>
  69. </li>
  70. <li @click="jump('/finance/contrast')">
  71. <div>
  72. <i
  73. class="el-icon-s-management"
  74. style="font-size: 50px; text-align: center"
  75. ></i>
  76. <p>对账</p>
  77. </div>
  78. </li>
  79. <li @click="jump('/business/goodsTransfer')">
  80. <div>
  81. <i
  82. class="el-icon-takeaway-box"
  83. style="font-size: 50px; text-align: center"
  84. ></i>
  85. <p>货转</p>
  86. </div>
  87. </li>
  88. <li @click="jump('/agreement/agreementStorage')">
  89. <div>
  90. <i
  91. class="el-icon-s-order"
  92. style="font-size: 50px; text-align: center"
  93. ></i>
  94. <p>协议</p>
  95. </div>
  96. </li>
  97. </ul>
  98. </div>
  99. <div style="width: 30%">
  100. <div style="width: 100%">
  101. <div style="display: flex">
  102. <div id="box" style="width: 100%; height: 350px"></div>
  103. <el-select
  104. v-model="select"
  105. slot="prepend"
  106. size="mini"
  107. :select="query()"
  108. placeholder="点击切换仓库"
  109. style="position: absolute; width: 8%; right: 1%"
  110. >
  111. <div v-for="(item, index) in warehouse" :key="index">
  112. <el-option
  113. :label="item.fName"
  114. :value="item.fWarehouseid"
  115. ></el-option>
  116. </div>
  117. </el-select>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <div style="display: flex; margin-bottom: 40px">
  123. <div style="width: 70%">
  124. <div>
  125. <div
  126. style="
  127. display: flex;
  128. color: #515a6e;
  129. font-weight: 600;
  130. background-color: #f8f8f9;
  131. height: 42.6px;
  132. font-size: 13px;
  133. justify-content: space-between;
  134. border-bottom: 1px dashed #dfe6ec;
  135. "
  136. >
  137. <div class="home_stock_table">委托方</div>
  138. <div class="home_stock_table">日期</div>
  139. <div class="home_stock_table">提单号</div>
  140. <div class="home_stock_table">业务类型</div>
  141. <div class="home_stock_table_right">
  142. <div>操作</div>
  143. <el-link type="primary" @click="jump('/morePage/stock')"
  144. >更多></el-link
  145. >
  146. </div>
  147. </div>
  148. <div v-if="tableData.length > 0">
  149. <div
  150. style="
  151. display: flex;
  152. height: 42.6px;
  153. border-bottom: 1px dashed #dfe6ec;
  154. "
  155. v-for="(item, index) in tableData"
  156. :key="index"
  157. >
  158. <div class="home_stock_table"> <p>{{ item.refno1 }}</p></div>
  159. <div class="home_stock_table">
  160. {{ item.auditItem }}
  161. </div>
  162. <div class="home_stock_table"><p>{{ item.refno1 }}</p></div>
  163. <div class="home_stock_table">
  164. <span v-if="item.refno2 === 'SJRK'">入库</span>
  165. <span v-else-if="item.refno2 === 'SJCK'">出库</span>
  166. <span v-else-if="item.refno2 === 'HQZY'">货转</span>
  167. <span v-else-if="item.refno2 === 'CKDB'">调拨</span>
  168. <span v-else-if="item.refno2 === 'CCF'">仓储费</span>
  169. <span v-else-if="item.refno2 === 'HWTG'">货物通关</span>
  170. <span v-else-if="item.refno2 === 'ZYF'">作业费</span>
  171. <span v-else-if="item.refno2 === 'SF'">收费</span>
  172. <span v-else-if="item.refno2 === 'DZ'">对账</span>
  173. <span v-else-if="item.refno2 === 'FF'">付费</span>
  174. <span v-else-if="item.refno2 === 'JSCCF'">计算仓储费</span>
  175. </div>
  176. <div class="home_stock_table" @click="approval(item)">
  177. 查看详情
  178. </div>
  179. </div>
  180. </div>
  181. <div
  182. v-else
  183. style="
  184. display: flex;
  185. justify-content: center;
  186. height: 213px;
  187. border-bottom: 1px solid #dfe6ec;
  188. "
  189. >
  190. <div style="align-self: center; color: #909399; font-size: 14px">
  191. 暂无数据
  192. </div>
  193. </div>
  194. </div>
  195. <!-- <el-table
  196. :data="tableData"
  197. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  198. :cell-style="cellStyle"
  199. >
  200. <el-table-column
  201. prop="refno1"
  202. :show-overflow-tooltip="true"
  203. label="委托方"
  204. ></el-table-column>
  205. <el-table-column
  206. prop="auditItem"
  207. :show-overflow-tooltip="true"
  208. label="日期"
  209. >
  210. <template slot-scope="scope">
  211. <span v-if="!scope.row.auditItem">无时间</span>
  212. <span v-else>{{ scope.row.auditItem.slice(0, 10) }}</span>
  213. </template>
  214. </el-table-column>
  215. <el-table-column
  216. prop="refno3"
  217. :show-overflow-tooltip="true"
  218. label="提单号"
  219. ></el-table-column>
  220. <el-table-column
  221. prop="refno2"
  222. :show-overflow-tooltip="true"
  223. label="业务类型"
  224. >
  225. <template slot-scope="scope">
  226. <span v-if="scope.row.refno2 === 'SJRK'">入库</span>
  227. <span v-else-if="scope.row.refno2 === 'SJCK'">出库</span>
  228. <span v-else-if="scope.row.refno2 === 'HQZY'">货转</span>
  229. <span v-else-if="scope.row.refno2 === 'CKDB'">调拨</span>
  230. <span v-else-if="scope.row.refno2 === 'CCF'">仓储费</span>
  231. <span v-else-if="scope.row.refno2 === 'HWTG'">货物通关</span>
  232. <span v-else-if="scope.row.refno2 === 'ZYF'">作业费</span>
  233. <span v-else-if="scope.row.refno2 === 'SF'">收费</span>
  234. <span v-else-if="scope.row.refno2 === 'DZ'">对账</span>
  235. <span v-else-if="scope.row.refno2 === 'FF'">付费</span>
  236. <span v-else-if="scope.row.refno2 === 'JSCCF'">计算仓储费</span>
  237. </template>
  238. </el-table-column>
  239. <el-table-column prop="address" label="操作" width="80">
  240. <template slot-scope="scope">
  241. <span style="cursor: pointer" @click="approval(scope.row)"
  242. >查看详情</span
  243. >
  244. </template>
  245. </el-table-column>
  246. </el-table> -->
  247. </div>
  248. <div style="width: 30%">
  249. <el-table
  250. :data="tableDataTwo"
  251. :header-cell-style="{ borderBottom: '1px dashed #dfe6ec' }"
  252. :cell-style="cellStyle"
  253. style="margin-left: 20px"
  254. >
  255. <el-table-column
  256. prop="noticeTitle"
  257. :show-overflow-tooltip="true"
  258. label="消息中心"
  259. />
  260. <el-table-column prop="address" label="操作" width="80">
  261. <template slot-scope="scope">
  262. <span
  263. @click="querytoDo(scope.row.noticeContent)"
  264. style="cursor: pointer"
  265. >查看详情</span
  266. >
  267. </template>
  268. </el-table-column>
  269. </el-table>
  270. </div>
  271. </div>
  272. <div style="display: flex">
  273. <div style="width: 70%">
  274. <div
  275. id="commoDity"
  276. style="width: 100%; height: 350px; margin-left: 40px"
  277. ></div>
  278. </div>
  279. <div style="width: 30%">
  280. <div id="cargoOwner" style="width: 100%; height: 350px"></div>
  281. </div>
  282. </div>
  283. </div>
  284. <el-dialog
  285. v-if="sysType == 1"
  286. title="消息提示"
  287. :visible.sync="dialogVisible"
  288. width="80%"
  289. :before-close="handleClose"
  290. :close-on-click-modal="false"
  291. >
  292. <span
  293. v-html="text"
  294. class="text"
  295. style="max-width: 100%; height: auto"
  296. ></span>
  297. <span slot="footer" class="dialog-footer">
  298. <el-button type="primary" @click="dialogVisible = false"
  299. >关 闭</el-button
  300. >
  301. </span>
  302. </el-dialog>
  303. <div class="home-fleet" v-if="sysType == 2">
  304. <div class="home-left">
  305. <chi-card title="业务看板" iconName="el-icon-s-cooperation">
  306. <div slot="content">
  307. <div class="content-top">
  308. <div class="content-top-left">
  309. <div
  310. style="display: flex; align-self: center; margin-left: 5px"
  311. >
  312. <div style="align-self: center">
  313. <svg
  314. t="1616396514864"
  315. class="icon"
  316. viewBox="0 0 1024 1024"
  317. version="1.1"
  318. xmlns="http://www.w3.org/2000/svg"
  319. p-id="9805"
  320. width="20"
  321. height="20"
  322. >
  323. <path
  324. 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"
  325. p-id="9806"
  326. fill="#000000"
  327. ></path>
  328. </svg>
  329. </div>
  330. <div
  331. style="
  332. align-self: center;
  333. font-size: 16px;
  334. margin: 2px 0 0 5px;
  335. "
  336. >
  337. 今日新增柜数
  338. </div>
  339. </div>
  340. <div
  341. style="
  342. font-size: 36px;
  343. align-self: center;
  344. font-weight: 600;
  345. color: #014da1;
  346. "
  347. >
  348. {{ upperLeftCntrs.planQuantity }}
  349. </div>
  350. </div>
  351. <div class="content-top-right">
  352. <div
  353. style="
  354. display: flex;
  355. align-self: center;
  356. min-width: 120px;
  357. margin-left: 5px;
  358. "
  359. >
  360. <div style="align-self: center">
  361. <svg
  362. t="1616400289333"
  363. class="icon"
  364. viewBox="0 0 1024 1024"
  365. version="1.1"
  366. xmlns="http://www.w3.org/2000/svg"
  367. p-id="22417"
  368. width="20"
  369. height="20"
  370. >
  371. <path
  372. 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"
  373. p-id="22418"
  374. ></path>
  375. </svg>
  376. </div>
  377. <div
  378. style="
  379. align-self: center;
  380. font-size: 16px;
  381. margin: 2px 0 0 5px;
  382. "
  383. >
  384. 未安排柜数
  385. </div>
  386. </div>
  387. <div
  388. style="
  389. font-size: 36px;
  390. align-self: center;
  391. font-weight: 600;
  392. color: #014da1;
  393. "
  394. >
  395. {{ upperLeftCntrs.surplusQuantity }}
  396. </div>
  397. </div>
  398. </div>
  399. <div class="content-bottom">
  400. <div style="display: flex; align-self: center; margin-left: 5px">
  401. <div style="align-self: center">
  402. <svg
  403. t="1616402886142"
  404. class="icon"
  405. viewBox="0 0 1024 1024"
  406. version="1.1"
  407. xmlns="http://www.w3.org/2000/svg"
  408. p-id="31596"
  409. width="24"
  410. height="24"
  411. >
  412. <path
  413. 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"
  414. p-id="31597"
  415. ></path>
  416. <path
  417. 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"
  418. p-id="31598"
  419. ></path>
  420. </svg>
  421. </div>
  422. <div
  423. style="
  424. align-self: center;
  425. font-size: 16px;
  426. margin: 2px 0 0 5px;
  427. width: 110px;
  428. "
  429. >
  430. 今日派车数
  431. </div>
  432. </div>
  433. <div
  434. style="
  435. font-size: 36px;
  436. align-self: center;
  437. font-weight: 600;
  438. color: #014da1;
  439. "
  440. >
  441. {{ fleetData.upperLeftCarQuantity }}
  442. </div>
  443. <div style="align-self: center; color: #409eff">派车详情></div>
  444. </div>
  445. <div class="content-bottom">
  446. <div
  447. style="
  448. display: flex;
  449. align-self: center;
  450. min-width: 120px;
  451. margin-left: 5px;
  452. "
  453. >
  454. <div style="align-self: center">
  455. <svg
  456. t="1616402771353"
  457. class="icon"
  458. viewBox="0 0 1048 1024"
  459. version="1.1"
  460. xmlns="http://www.w3.org/2000/svg"
  461. p-id="29149"
  462. width="20"
  463. height="20"
  464. >
  465. <path
  466. 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"
  467. p-id="29150"
  468. ></path>
  469. </svg>
  470. </div>
  471. <div
  472. style="
  473. align-self: center;
  474. font-size: 16px;
  475. margin: 2px 0 0 5px;
  476. width: 110px;
  477. "
  478. >
  479. 可用车辆数
  480. </div>
  481. </div>
  482. <div
  483. style="
  484. font-size: 36px;
  485. align-self: center;
  486. font-weight: 600;
  487. color: #014da1;
  488. "
  489. >
  490. {{ fleetData.upperLeftOldCarQuantity }}
  491. </div>
  492. <div style="align-self: center; color: #409eff">派车详情></div>
  493. </div>
  494. </div>
  495. </chi-card>
  496. <chi-card
  497. title="新闻公告"
  498. iconName="el-icon-s-cooperation"
  499. :More="true"
  500. >
  501. <div slot="content" style="height: 260px">
  502. <div
  503. style="padding: 4px 15px; font-size: 14px"
  504. v-for="(item, index) in tableDataTwo"
  505. :key="index"
  506. :style="{
  507. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  508. }"
  509. >
  510. {{ item.noticeTitle }}
  511. </div>
  512. </div>
  513. </chi-card>
  514. </div>
  515. <div class="home-right">
  516. <chi-card title="运行车辆" iconName="el-icon-s-order" :More="true">
  517. <div slot="content" class="upper-right">
  518. <div
  519. style="display: flex; padding: 4px 15px; font-size: 14px"
  520. v-for="(item, index) in upperRights"
  521. :key="index"
  522. :style="{
  523. backgroundColor: index % 2 == 0 ? '#fafbfd' : '#FFFFFF',
  524. }"
  525. >
  526. <div style="width: 30%" @click="goPage(item.id)">
  527. <el-link type="primary" :underline="false">{{
  528. item.mblno
  529. }}</el-link>
  530. </div>
  531. <div style="width: 20%">{{ item.carregNo }}</div>
  532. <div style="width: 15%; color: #67c23a">
  533. {{ item.orderStatus | statusType }}
  534. </div>
  535. <div
  536. style="
  537. width: 35%;
  538. overflow: hidden;
  539. text-overflow: ellipsis;
  540. white-space: nowrap;
  541. "
  542. >
  543. {{ item.corpName }}
  544. </div>
  545. </div>
  546. </div>
  547. </chi-card>
  548. <chi-card title="业务待办" iconName="el-icon-s-order" :More="true">
  549. <div slot="content" class="upper-right2">
  550. <div
  551. style="
  552. font-size: 14px;
  553. display: flex;
  554. margin: 4px 15px;
  555. border-bottom: 1px dashed #e6ebf5;
  556. "
  557. >
  558. <div style="width: 30%" class="single_line">FK221516485645</div>
  559. <div style="width: 20%" class="single_line">运费运费运费</div>
  560. <div style="width: 15%" class="single_line">李刚</div>
  561. <div style="width: 15%; color: #67c23a" class="single_line">
  562. 待审批
  563. </div>
  564. <div style="width: 20%" class="single_line">2020/10/10</div>
  565. </div>
  566. <div style="font-size: 14px; display: flex; margin: 4px 15px">
  567. <div style="width: 30%" class="single_line">FK221516485645</div>
  568. <div style="width: 20%" class="single_line">运费运费运费</div>
  569. <div style="width: 15%" class="single_line">李刚</div>
  570. <div style="width: 15%; color: #67c23a" class="single_line">
  571. 待审批
  572. </div>
  573. <div style="width: 20%" class="single_line">2020/10/10</div>
  574. </div>
  575. </div>
  576. </chi-card>
  577. <chi-card title="审核列表" iconName="el-icon-s-order" :More="true">
  578. <div slot="content" class="upper-right2">
  579. <div
  580. style="
  581. font-size: 14px;
  582. display: flex;
  583. margin: 4px 15px;
  584. border-bottom: 1px dashed #e6ebf5;
  585. "
  586. >
  587. <div style="width: 30%" class="single_line">FK221516485645</div>
  588. <div style="width: 20%" class="single_line">运费运费运费</div>
  589. <div style="width: 15%" class="single_line">李刚</div>
  590. <div style="width: 15%; color: #67c23a">待审批</div>
  591. <div style="width: 20%" class="single_line">2020/10/10</div>
  592. </div>
  593. <div style="font-size: 14px; display: flex; margin: 4px 15px">
  594. <div style="width: 30%" class="single_line">FK221516485645</div>
  595. <div style="width: 20%" class="single_line">运费运费运费</div>
  596. <div style="width: 15%" class="single_line">李刚</div>
  597. <div style="width: 15%; color: #67c23a" class="single_line">
  598. 待审批
  599. </div>
  600. <div style="width: 20%" class="single_line">2020/10/10</div>
  601. </div>
  602. </div>
  603. </chi-card>
  604. </div>
  605. </div>
  606. </div>
  607. </template>
  608. <script>
  609. import { queryHomeInfo } from "@/api/fleet/home";
  610. import chiCard from "./chiCard.vue";
  611. import {
  612. listCorps,
  613. information,
  614. warehouse,
  615. inquiry,
  616. } from "../../src/api/index";
  617. import Cookies from "js-cookie";
  618. export default {
  619. name: "index",
  620. data() {
  621. return {
  622. editModel: {},
  623. // 版本号
  624. version: "3.2.1",
  625. select: "",
  626. text: "",
  627. dialogVisible: false,
  628. tableData: [],
  629. chart: [],
  630. warehouse: [],
  631. master: [],
  632. commodity: [],
  633. commoditytwo: [],
  634. name: [],
  635. tableDataTwo: [],
  636. fleetData: "",
  637. upperLeftCntrs: {},
  638. sysType: "",
  639. upperRights: [],
  640. };
  641. },
  642. filters: {
  643. statusType(val) {
  644. switch (val) {
  645. case 10:
  646. return "车队安排";
  647. break;
  648. case 20:
  649. return "司机受理";
  650. break;
  651. case 30:
  652. return "司机出车";
  653. break;
  654. case 40:
  655. return "提箱";
  656. break;
  657. case 50:
  658. return "装卸货";
  659. break;
  660. case 60:
  661. return "还卸柜";
  662. break;
  663. case 70:
  664. return "费用确认";
  665. break;
  666. default:
  667. return "回单";
  668. }
  669. },
  670. },
  671. components: {
  672. chiCard,
  673. },
  674. created() {
  675. queryHomeInfo().then((response) => {
  676. this.fleetData = response.data;
  677. if (response.data.upperRight.length > 0) {
  678. this.upperRights = response.data.upperRight.slice(0, 10);
  679. }
  680. this.upperLeftCntrs = response.data.upperLeftCntrs;
  681. });
  682. this.sysType = Cookies.get("sysType");
  683. console.log(this.sysType);
  684. },
  685. activated() {
  686. this.getList();
  687. this.warehouses();
  688. this.inquiry();
  689. },
  690. methods: {
  691. goPage(id) {
  692. this.$router.push({
  693. path: "/track/cabinet",
  694. query: { id: id },
  695. });
  696. },
  697. //跳转审批页面
  698. approval(row) {
  699. switch (row.refno2) {
  700. case "SJRK": {
  701. this.$router.push({
  702. path: "/business/inStock",
  703. query: { data: JSON.stringify(row) },
  704. });
  705. break;
  706. }
  707. case "SJCK": {
  708. this.$router.push({
  709. path: "/business/outStock",
  710. query: { data: JSON.stringify(row) },
  711. });
  712. break;
  713. }
  714. case "HQZY": {
  715. this.$router.push({
  716. path: "/business/goodsTransfer",
  717. query: { data: JSON.stringify(row) },
  718. });
  719. break;
  720. }
  721. case "CKDB": {
  722. this.$router.push({
  723. path: "/business/stockTransfer",
  724. query: { data: JSON.stringify(row) },
  725. });
  726. break;
  727. }
  728. case "HWTG": {
  729. this.$router.push({
  730. path: "/business/cargoClearance",
  731. query: { data: JSON.stringify(row) },
  732. });
  733. break;
  734. }
  735. case "JSCCF": {
  736. this.$router.push({
  737. path: "/business/agreement",
  738. query: { data: JSON.stringify(row) },
  739. });
  740. break;
  741. }
  742. case "CCF": {
  743. this.$router.push({
  744. path: "/agreement/agreementStorage",
  745. query: { data: JSON.stringify(row) },
  746. });
  747. break;
  748. }
  749. case "ZYF": {
  750. this.$router.push({
  751. path: "/agreement/agreementTask",
  752. query: { data: JSON.stringify(row) },
  753. });
  754. break;
  755. }
  756. case "SF": {
  757. this.$router.push({
  758. path: "/finance/charge",
  759. query: { data: JSON.stringify(row) },
  760. });
  761. break;
  762. }
  763. case "DZ": {
  764. this.$router.push({
  765. path: "/finance/contrast",
  766. query: { data: JSON.stringify(row) },
  767. });
  768. break;
  769. }
  770. case "FF": {
  771. this.$router.push({
  772. path: "/finance/payment",
  773. query: { data: JSON.stringify(row) },
  774. });
  775. break;
  776. }
  777. default: {
  778. return this.$message.error("未知错误,无状态");
  779. }
  780. }
  781. },
  782. inquiry() {
  783. let data = {
  784. actId: "",
  785. };
  786. inquiry(data).then((res) => {
  787. res.data.map(e=>{
  788. if(e.auditItem){
  789. e.auditItem=e.auditItem.slice(0, 10)
  790. }
  791. })
  792. this.tableData = res.data;
  793. });
  794. },
  795. querytoDo(res) {
  796. this.dialogVisible = true;
  797. this.text = res;
  798. },
  799. handleClose(done) {
  800. this.dialogVisible = false;
  801. },
  802. firstinventory(fId) {
  803. console.log(this.warehouse);
  804. information(fId).then((response) => {
  805. this.chart = response.data;
  806. if (this.chart.whouseList.length !== 0) {
  807. for (let index of this.chart.corpsListWhouse) {
  808. this.master.push({
  809. name: index.fName,
  810. value: index.fGrossweightD,
  811. });
  812. this.name.push(index.fName);
  813. }
  814. for (let index of this.chart.goodslistWhouse) {
  815. this.commodity.push(index.fName);
  816. this.commoditytwo.push(index.fGrossweightD);
  817. }
  818. this.drawLine();
  819. this.drawLinetwo();
  820. this.commoDity();
  821. } else {
  822. this.chart = {
  823. corpsListWhouse: [
  824. {
  825. balance: 0,
  826. fCorpid: 58,
  827. fGrossweightD: 0,
  828. fName: "展示数据",
  829. fTotalgross: 10000,
  830. fWarehouseName: "展示数据",
  831. },
  832. ],
  833. goodslistWhouse: [
  834. {
  835. balance: 0,
  836. fGoodsid: 13,
  837. fGrossweightD: 0,
  838. fName: "展示商品",
  839. fTotalgross: 10000,
  840. fWarehouseName: "展示数据",
  841. },
  842. ],
  843. whouseList: [
  844. {
  845. fGrossweightD: 0,
  846. fName: "展示数据",
  847. fTotalgross: 10000,
  848. fWarehouseid: 36,
  849. },
  850. ],
  851. };
  852. for (let index of this.chart.corpsListWhouse) {
  853. this.master.push({
  854. name: index.fName,
  855. value: index.fGrossweightD,
  856. });
  857. this.name.push(index.fName);
  858. }
  859. for (let index of this.chart.goodslistWhouse) {
  860. this.commodity.push(index.fName);
  861. this.commoditytwo.push(index.fGrossweightD);
  862. }
  863. this.drawLine();
  864. this.drawLinetwo();
  865. this.commoDity();
  866. }
  867. });
  868. },
  869. query() {
  870. this.master = [];
  871. this.commodity = [];
  872. this.commoditytwo = [];
  873. this.name = [];
  874. if (this.select === "") {
  875. return this.select;
  876. } else {
  877. information(this.select).then((response) => {
  878. this.chart = response.data;
  879. for (let index of this.chart.corpsListWhouse) {
  880. this.master.push({
  881. name: index.fName,
  882. value: index.fGrossweightD,
  883. });
  884. this.name.push(index.fName);
  885. }
  886. for (let index of this.chart.goodslistWhouse) {
  887. this.commodity.push(index.fName);
  888. this.commoditytwo.push(index.fGrossweightD);
  889. }
  890. this.drawLine();
  891. this.drawLinetwo();
  892. this.commoDity();
  893. });
  894. }
  895. },
  896. jump(res) {
  897. this.$router.push({ path: res });
  898. },
  899. //设置单元格边框
  900. cellStyle({ row, column, rowIndex, columnIndex }) {
  901. return "border-bottom: 1px dashed rgb(223, 230, 236)";
  902. },
  903. //查询消息中心
  904. getList() {
  905. this.loading = true;
  906. listCorps(this.queryParams).then((response) => {
  907. if (response.rows.length > 0) {
  908. this.tableDataTwo = response.rows.slice(0, 10);
  909. }
  910. });
  911. },
  912. //查询仓库
  913. warehouses() {
  914. warehouse().then((response) => {
  915. this.warehouse = [];
  916. for (let index of response.rows) {
  917. this.warehouse.push({
  918. fName: index.fName,
  919. fWarehouseid: index.fWarehouseid,
  920. });
  921. }
  922. console.log(this.warehouse);
  923. this.firstinventory(this.warehouse[0].fWarehouseid);
  924. });
  925. },
  926. goTarget(href) {
  927. window.open(href, "_blank");
  928. },
  929. //仓库图表
  930. drawLine() {
  931. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  932. let myChart = this.$echarts.init(document.getElementById("box"));
  933. // 绘制图表
  934. myChart.setOption({
  935. title: {
  936. text: this.chart.whouseList[0].fName + "统计",
  937. subtext: "实时数据",
  938. left: "center",
  939. },
  940. tooltip: {
  941. trigger: "item",
  942. formatter: "{a} <br/>{b} : {c} ({d}%)",
  943. },
  944. legend: {
  945. bottom: 10,
  946. left: "center",
  947. data: ["空闲库容", "占用库容"],
  948. },
  949. series: [
  950. {
  951. type: "pie",
  952. name: "实时数据",
  953. radius: "65%",
  954. center: ["50%", "50%"],
  955. selectedMode: "single",
  956. data: [
  957. {
  958. label: {
  959. backgroundColor: "#eee",
  960. borderColor: "#777",
  961. borderWidth: 1,
  962. borderRadius: 4,
  963. rich: {
  964. title: {
  965. color: "#eee",
  966. align: "center",
  967. },
  968. abg: {
  969. backgroundColor: "#333",
  970. width: "100%",
  971. align: "right",
  972. height: 25,
  973. borderRadius: [4, 4, 0, 0],
  974. },
  975. Sunny: {
  976. height: 30,
  977. align: "left",
  978. },
  979. Cloudy: {
  980. height: 30,
  981. align: "left",
  982. },
  983. Showers: {
  984. height: 30,
  985. align: "left",
  986. },
  987. weatherHead: {
  988. color: "#333",
  989. height: 24,
  990. align: "left",
  991. },
  992. hr: {
  993. borderColor: "#777",
  994. width: "100%",
  995. borderWidth: 0.5,
  996. height: 0,
  997. },
  998. value: {
  999. width: 20,
  1000. padding: [0, 20, 0, 30],
  1001. align: "left",
  1002. },
  1003. valueHead: {
  1004. color: "#333",
  1005. width: 20,
  1006. padding: [0, 20, 0, 30],
  1007. align: "center",
  1008. },
  1009. rate: {
  1010. width: 40,
  1011. align: "right",
  1012. padding: [0, 10, 0, 0],
  1013. },
  1014. rateHead: {
  1015. color: "#333",
  1016. width: 40,
  1017. align: "center",
  1018. padding: [0, 10, 0, 0],
  1019. },
  1020. },
  1021. },
  1022. },
  1023. {
  1024. value: this.chart.whouseList[0].fGrossweightD,
  1025. name: "占用库容",
  1026. },
  1027. {
  1028. value: parseFloat(
  1029. this.chart.whouseList[0].fTotalgross -
  1030. this.chart.whouseList[0].fGrossweightD
  1031. ).toFixed(1),
  1032. name: "空闲库容",
  1033. },
  1034. ],
  1035. emphasis: {
  1036. itemStyle: {
  1037. shadowBlur: 10,
  1038. shadowOffsetX: 0,
  1039. shadowColor: "rgba(0, 0, 0, 0.5)",
  1040. },
  1041. },
  1042. },
  1043. ],
  1044. });
  1045. },
  1046. drawLinetwo() {
  1047. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1048. let myChart = this.$echarts.init(document.getElementById("cargoOwner"));
  1049. // 绘制图表
  1050. myChart.setOption({
  1051. title: {
  1052. text: this.chart.whouseList[0].fName + "货权方统计",
  1053. subtext: "实时数据",
  1054. left: "center",
  1055. },
  1056. tooltip: {
  1057. trigger: "item",
  1058. formatter: "{a} <br/>{b}: {c} ({d}%)",
  1059. },
  1060. legend: {
  1061. bottom: 10,
  1062. left: "center",
  1063. data: this.name,
  1064. },
  1065. series: [
  1066. {
  1067. name: "访问来源",
  1068. type: "pie",
  1069. radius: ["40%", "60%"],
  1070. avoidLabelOverlap: false,
  1071. label: {
  1072. show: false,
  1073. position: "center",
  1074. },
  1075. emphasis: {
  1076. label: {
  1077. // show: true,
  1078. fontSize: "30",
  1079. fontWeight: "bold",
  1080. },
  1081. },
  1082. labelLine: {
  1083. show: false,
  1084. },
  1085. data: this.master,
  1086. },
  1087. ],
  1088. });
  1089. },
  1090. commoDity() {
  1091. // 基于准备好的dom,初始化echarts实例,所以只能在mounted中调用
  1092. let myChart = this.$echarts.init(document.getElementById("commoDity"));
  1093. // 绘制图表
  1094. myChart.setOption({
  1095. title: {
  1096. text: this.chart.whouseList[0].fName + "商品统计",
  1097. subtext: "实时数据",
  1098. left: "center",
  1099. },
  1100. color: ["#3398DB"],
  1101. tooltip: {
  1102. trigger: "axis",
  1103. axisPointer: {
  1104. // 坐标轴指示器,坐标轴触发有效
  1105. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  1106. },
  1107. },
  1108. grid: {
  1109. left: "3%",
  1110. right: "4%",
  1111. bottom: "3%",
  1112. containLabel: true,
  1113. },
  1114. xAxis: [
  1115. {
  1116. type: "category",
  1117. data: this.commodity,
  1118. axisTick: {
  1119. alignWithLabel: true,
  1120. },
  1121. },
  1122. ],
  1123. yAxis: [
  1124. {
  1125. type: "value",
  1126. },
  1127. ],
  1128. series: [
  1129. {
  1130. name: "实时状态",
  1131. type: "bar",
  1132. barWidth: "60%",
  1133. data: this.commoditytwo,
  1134. },
  1135. ],
  1136. });
  1137. },
  1138. },
  1139. };
  1140. </script>
  1141. <style scoped lang="scss">
  1142. .block {
  1143. width: 100%;
  1144. display: flex;
  1145. flex-wrap: wrap;
  1146. justify-content: space-around;
  1147. li:hover {
  1148. background-color: #025184;
  1149. }
  1150. li:nth-child(6),
  1151. li:nth-child(7),
  1152. li:nth-child(8),
  1153. li:nth-child(9),
  1154. li:nth-child(10) {
  1155. background-color: #2f4554;
  1156. }
  1157. li:nth-child(6):hover,
  1158. li:nth-child(7):hover,
  1159. li:nth-child(8):hover,
  1160. li:nth-child(9):hover,
  1161. li:nth-child(10):hover {
  1162. background-color: #2f4454d1;
  1163. }
  1164. li {
  1165. width: 18%;
  1166. height: 150px;
  1167. background-color: #1c84c6;
  1168. margin-left: 10px;
  1169. text-align: center;
  1170. color: #ffffff;
  1171. border-radius: 10px;
  1172. cursor: pointer;
  1173. margin-bottom: 15px;
  1174. div {
  1175. margin-top: 40px;
  1176. p {
  1177. font-size: 20px;
  1178. }
  1179. }
  1180. }
  1181. }
  1182. .home {
  1183. blockquote {
  1184. padding: 10px 20px;
  1185. margin: 0 0 20px;
  1186. font-size: 17.5px;
  1187. border-left: 5px solid #eee;
  1188. }
  1189. hr {
  1190. margin-top: 20px;
  1191. margin-bottom: 20px;
  1192. border: 0;
  1193. border-top: 1px solid #eee;
  1194. }
  1195. .col-item {
  1196. margin-bottom: 20px;
  1197. }
  1198. ul {
  1199. padding: 0;
  1200. margin: 0;
  1201. }
  1202. font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  1203. font-size: 13px;
  1204. color: #676a6c;
  1205. overflow-x: hidden;
  1206. ul {
  1207. list-style-type: none;
  1208. }
  1209. h4 {
  1210. margin-top: 0px;
  1211. }
  1212. h2 {
  1213. margin-top: 10px;
  1214. font-size: 26px;
  1215. font-weight: 100;
  1216. }
  1217. p {
  1218. margin-top: 10px;
  1219. b {
  1220. font-weight: 700;
  1221. }
  1222. }
  1223. .update-log {
  1224. ol {
  1225. display: block;
  1226. list-style-type: decimal;
  1227. margin-block-start: 1em;
  1228. margin-block-end: 1em;
  1229. margin-inline-start: 0;
  1230. margin-inline-end: 0;
  1231. padding-inline-start: 40px;
  1232. }
  1233. }
  1234. }
  1235. .home-fleet {
  1236. display: flex;
  1237. .home-left {
  1238. width: 40%;
  1239. padding: 0 10px;
  1240. }
  1241. .home-right {
  1242. width: 60%;
  1243. padding: 0 10px;
  1244. }
  1245. .content-top {
  1246. display: flex;
  1247. .content-top-left {
  1248. display: flex;
  1249. width: 50%;
  1250. height: 100px;
  1251. border-bottom: 1px solid #e6ebf5;
  1252. border-right: 1px solid #e6ebf5;
  1253. padding: 10px;
  1254. justify-content: space-between;
  1255. }
  1256. .content-top-right {
  1257. display: flex;
  1258. width: 50%;
  1259. height: 100px;
  1260. border-bottom: 1px solid #e6ebf5;
  1261. padding: 10px;
  1262. justify-content: space-between;
  1263. }
  1264. }
  1265. .content-bottom {
  1266. display: flex;
  1267. height: 81px;
  1268. border-bottom: 1px solid #e6ebf5;
  1269. padding: 10px;
  1270. justify-content: space-between;
  1271. }
  1272. .content-bottom:last-child {
  1273. border-bottom: 0px;
  1274. }
  1275. .upper-right {
  1276. padding: 10px 0;
  1277. height: 260px;
  1278. }
  1279. .upper-right2 {
  1280. padding: 10px 0;
  1281. height: 104px;
  1282. }
  1283. }
  1284. .single_line {
  1285. overflow: hidden;
  1286. text-overflow: ellipsis;
  1287. white-space: nowrap;
  1288. }
  1289. @media screen and (max-width: 920px) {
  1290. .home-fleet {
  1291. display: flex;
  1292. flex-direction: column;
  1293. .home-left {
  1294. width: 100%;
  1295. }
  1296. .home-right {
  1297. width: 100%;
  1298. }
  1299. }
  1300. }
  1301. </style>
  1302. <style lang="scss">
  1303. .text img {
  1304. max-width: 100%;
  1305. height: auto;
  1306. }
  1307. .home_stock_table {
  1308. display: flex;
  1309. width: 20%;
  1310. justify-content: center;
  1311. align-self: center;
  1312. p{
  1313. display: inline-block;
  1314. white-space: nowrap;
  1315. width: 100%;
  1316. overflow: hidden;
  1317. text-overflow:ellipsis;
  1318. }
  1319. }
  1320. .home_stock_table_right {
  1321. display: flex;
  1322. width: 20%;
  1323. justify-content: space-around;
  1324. align-self: center;
  1325. }
  1326. </style>