salesPlanOrderList.vue 61 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132
  1. //销售订单
  2. <template>
  3. <div class="container">
  4. <BaseHeaderLayout :leftSpan="15">
  5. <template slot="left"> </template>
  6. <template slot="right">
  7. <ws-select
  8. v-model="searchTypeText"
  9. placeholder=""
  10. class="typeselect"
  11. @change="selectExamineType"
  12. :value="searchType"
  13. >
  14. <ws-option
  15. v-for="item in searchTypeList"
  16. :key="item.value"
  17. :label="item.value"
  18. :value="item.value"
  19. style="color: #8890b1"
  20. />
  21. </ws-select>
  22. <ws-input
  23. v-model="searchKeyWord"
  24. placeholder="可按照合同编号和任务编号进行查找"
  25. clearable
  26. maxlength="500"
  27. type="input"
  28. ></ws-input>
  29. <ws-button class="find" type="primary" @click="find()"
  30. ><img
  31. width="16"
  32. height="16"
  33. style="
  34. vertical-align: text-top;
  35. position: relative;
  36. top: 0px;
  37. left: -8px;
  38. "
  39. src="../../../public/img/sousuo.png"
  40. alt=""
  41. /></ws-button>
  42. <!-- </div> -->
  43. </template>
  44. </BaseHeaderLayout>
  45. <el-table
  46. :data="warehouseList.records"
  47. size="small"
  48. element-loading-text="正在查询中。。。"
  49. border
  50. fit
  51. highlight-current-row
  52. height="700"
  53. >
  54. <el-table-column type="index" label="序号" width="50"></el-table-column>
  55. <el-table-column
  56. class="table_td"
  57. prop="contractNo"
  58. label="合同编号"
  59. width="100"
  60. >
  61. <template slot-scope="scope">
  62. <div class="record"
  63. @click="lookContract(scope.row)">{{ scope.row.contractNo}}</div>
  64. </template></el-table-column>
  65. <el-table-column
  66. class="table_td"
  67. prop="salePlan"
  68. label="销售计划"
  69. width="130"
  70. >
  71. <template slot-scope="scope">
  72. <div class="record"
  73. @click="lookPlan(scope.row)">{{ scope.row.salePlan}}</div>
  74. </template></el-table-column>
  75. <el-table-column class="table_td" prop="customer" label="客户">
  76. <template slot-scope="scope">
  77. <div class="record" @click="customer(scope.row)">
  78. {{ scope.row.customer }}
  79. </div>
  80. </template>
  81. </el-table-column>
  82. <el-table-column
  83. class="table_td"
  84. width="100"
  85. prop="unitPrice"
  86. label="单价(元/吨)"
  87. >
  88. <!--改价记录-->
  89. <template slot-scope="scope">
  90. {{ scope.row.unitPrice }}
  91. <i
  92. v-if="scope.row.salePlanType == '期货'"
  93. @click="Changepricerecord(scope.row)"
  94. class="iconfont icon-lishi"
  95. ></i>
  96. </template>
  97. </el-table-column>
  98. <el-table-column
  99. class="table_td"
  100. width="100"
  101. prop="basis"
  102. label="基差(元/吨)"
  103. >
  104. <template slot-scope="scope">
  105. <span v-if="scope.row.salePlanType == '现货'">--</span>
  106. <span
  107. v-if="
  108. !scope.row.basischange &&
  109. String(scope.row.basis) &&
  110. scope.row.salePlanType == '期货' &&
  111. String(scope.row.basis)>0
  112. "
  113. >{{ '+'+scope.row.basis }}</span
  114. >
  115. <span
  116. v-else-if="
  117. !scope.row.basischange &&
  118. String(scope.row.basis) &&
  119. scope.row.salePlanType == '期货' &&
  120. String(scope.row.basis)<=0
  121. "
  122. >{{scope.row.basis }}</span
  123. >
  124. <input
  125. v-if="scope.row.basischange"
  126. style="width: 60px"
  127. v-model="basis"
  128. type="text"
  129. />
  130. <!--改基差-->
  131. <i
  132. @click="changebasis(scope.row)"
  133. v-if="scope.row.basischange && scope.row.salePlanType == '期货'"
  134. class="iconfont icon-dui"
  135. ></i>
  136. <img
  137. v-if="
  138. !scope.row.basischange &&
  139. String(scope.row.basis) &&
  140. scope.row.salePlanType == '期货'
  141. "
  142. width="17"
  143. height="18"
  144. style="vertical-align: text-top; position: relative; top: -1px"
  145. src="../../../public/img/edit.png"
  146. @click="editbasis(scope.row)"
  147. alt=""
  148. />
  149. <span v-if="!String(scope.row.basis)">-</span>
  150. </template>
  151. </el-table-column>
  152. <el-table-column
  153. class="table_td"
  154. prop="freezingDeposit"
  155. label="冻结定金(元)"
  156. width="90"
  157. ><template slot-scope="scope">
  158. <span v-if="scope.row.salePlanType == '现货'">--</span>
  159. <span v-if="scope.row.salePlanType == '期货'">{{
  160. scope.row.freezingDeposit
  161. }}</span>
  162. </template>
  163. </el-table-column>
  164. <el-table-column
  165. class="table_td"
  166. prop="defaultDeposit"
  167. label="拖欠定金(元)"
  168. width="100"
  169. ><template slot-scope="scope">
  170. <span v-if="scope.row.salePlanType == '现货'">--</span>
  171. <span v-if="scope.row.salePlanType == '期货'">{{
  172. scope.row.defaultDeposit
  173. }}</span>
  174. </template></el-table-column
  175. >
  176. <!-- <el-table-column
  177. width="100"
  178. class="table_td"
  179. prop="unloadingCharge"
  180. label="卸车费(元/吨)"
  181. ><template slot-scope="scope">
  182. <span v-if="scope.row.salePlanType == '现货'">--</span>
  183. <span v-if="scope.row.salePlanType == '期货'">{{
  184. scope.row.unloadingCharge
  185. }}</span>
  186. </template></el-table-column
  187. > -->
  188. <el-table-column
  189. width="100"
  190. class="table_td"
  191. prop="invoiceFee"
  192. label="发票费(元/吨)"
  193. ><template slot-scope="scope">
  194. <span v-if="scope.row.salePlanType == '现货'">--</span>
  195. <span v-if="scope.row.salePlanType == '期货'">{{
  196. scope.row.invoiceFee
  197. }}</span>
  198. </template></el-table-column
  199. >
  200. <el-table-column
  201. class="table_td"
  202. prop="transactionsNumber"
  203. label="合同重量(吨)"
  204. width="100"
  205. ></el-table-column>
  206. <el-table-column
  207. class="table_td"
  208. prop="stockOutQuantity"
  209. label="已出库量(吨)"
  210. width="90"
  211. ><template slot-scope="scope">
  212. <span v-if="scope.row.salePlanType == '现货'">--</span>
  213. <span v-if="scope.row.salePlanType == '期货'">{{
  214. scope.row.stockOutQuantity
  215. }}</span>
  216. </template></el-table-column
  217. >
  218. <el-table-column
  219. class="table_td"
  220. prop="openPosition"
  221. label="可平仓量(吨)"
  222. width="90"
  223. ><template slot-scope="scope">
  224. <span v-if="scope.row.salePlanType == '现货'">--</span>
  225. <span v-if="scope.row.salePlanType == '期货'">{{
  226. scope.row.openPosition
  227. }}</span>
  228. </template></el-table-column
  229. >
  230. <el-table-column
  231. class="table_td"
  232. prop="closedPosition"
  233. label="已平仓量(吨)"
  234. width="90"
  235. >
  236. <!--平仓记录-->
  237. <template slot-scope="scope">
  238. <span v-if="scope.row.salePlanType == '现货'">--</span>
  239. <span v-if="scope.row.salePlanType == '期货'">{{
  240. scope.row.closedPosition
  241. }}</span>
  242. <i
  243. v-if="scope.row.salePlanType == '期货'"
  244. @click="closedPosition(scope.row)"
  245. class="iconfont icon-lishi"
  246. ></i>
  247. </template>
  248. </el-table-column>
  249. <el-table-column
  250. class="table_td"
  251. prop="cumulativeTurnover"
  252. label="已成交量(吨)"
  253. width="90"
  254. >
  255. <!--成交记录-->
  256. <template slot-scope="scope">
  257. <span v-if="scope.row.salePlanType == '现货'">--</span>
  258. <span v-if="scope.row.salePlanType == '期货'">{{
  259. scope.row.cumulativeTurnover
  260. }}</span>
  261. <i
  262. v-if="scope.row.salePlanType == '期货'"
  263. @click="transactionRecord(scope.row)"
  264. class="iconfont icon-lishi"
  265. ></i>
  266. </template>
  267. </el-table-column>
  268. <el-table-column
  269. class="table_td"
  270. label="发票类型"
  271. prop="type"
  272. ></el-table-column>
  273.  <el-table-column prop="packingType" label="包装方式">
  274. <template slot-scope="scope">
  275. <el-popover
  276. placement="top"
  277. :width="160"
  278. trigger="hover"
  279. visible-arrow="false"
  280. >
  281. <template>
  282. <span slot="reference">
  283. {{ scope.row.packingType }}
  284. </span>
  285. </template>
  286. <div>
  287. <span
  288. v-if="scope.row.packingType != '散装'"
  289. style="margin-left: 6px"
  290. >{{ scope.row.baggingNotes }}</span
  291. >
  292. </div>
  293. </el-popover>
  294. </template>
  295. </el-table-column>
  296. <el-table-column prop="status" label="状态">
  297. <template slot-scope="scope">
  298. <template>
  299. <span slot="reference">
  300. <span
  301. v-if="scope.row.status == '待审核'"
  302. class="executory"
  303. ></span>
  304. <span
  305. v-if="scope.row.status == '已成交'"
  306. class="inExecution"
  307. ></span>
  308. <span v-if="scope.row.status == '已完成'" class="done"></span>
  309. {{ scope.row.status }}
  310. </span>
  311. </template>
  312. </template>
  313. </el-table-column>
  314. <el-table-column
  315. class="table_td"
  316. label="更新时间"
  317. prop="updateDate"
  318. width="130"
  319. ></el-table-column>
  320. <el-table-column
  321. class="table_td"
  322. label="出库结算"
  323. prop=""
  324. width="130"
  325. >
  326. <template slot-scope="scope" >
  327. <div
  328. style='display: inline-block;
  329. color: #5878e8;
  330. padding: 0 4px !important;
  331. position: relative;
  332. font-size: 14px;'
  333. @click="nocomplete1(scope.row)"
  334. v-if="scope.row.procurementPlanType != '现货'&&scope.row.deliveryUnpaid != null&&scope.row.deliveryUnpaid >0">去结算</div>
  335. <div
  336. style='display: inline-block;
  337. color: #5878e8;
  338. padding: 0 4px !important;
  339. position: relative;
  340. font-size: 14px;'
  341. @click="nocomplete1(scope.row)"
  342. v-else-if="scope.row.procurementPlanType != '现货'&&scope.row.deliveryUnpaid != null&&scope.row.deliveryUnpaid==0">已结算</div>
  343. <div v-else>--</div>
  344. </template></el-table-column>
  345. <el-table-column
  346. class="table_td"
  347. label="平仓结算"
  348. prop=""
  349. width="130"
  350. >
  351. <template slot-scope="scope">
  352. <div
  353. style='display: inline-block;
  354. color: #5878e8;
  355. padding: 0 4px !important;
  356. position: relative;
  357. font-size: 14px;'
  358. @click="nocomplete(scope.row)"
  359. v-if="scope.row.procurementPlanType != '现货'&&scope.row.closedUnpaid != null&&scope.row.closedUnpaid >0">去结算</div>
  360. <div
  361. style='display: inline-block;
  362. color: #5878e8;
  363. padding: 0 4px !important;
  364. position: relative;
  365. font-size: 14px;'
  366. @click="nocomplete(scope.row)"
  367. v-else-if="scope.row.procurementPlanType != '现货'&&scope.row.closedUnpaid != null&&scope.row.closedUnpaid ==0">已结算</div>
  368. <div v-else>--</div>
  369. </template></el-table-column>
  370. <el-table-column prop="seller" label="操作" width="360">
  371. <template slot-scope="scope">
  372. <!---成交-->
  373. <div
  374. v-if="
  375. (scope.row.status == '已通过' || scope.row.status == '已成交') &&
  376. scope.row.salePlanType == '期货'
  377. "
  378. class="record"
  379. v-hasPermission="
  380. `sale.saleOrder.deal`
  381. "
  382. @click="makeabargain(scope.row)"
  383. >
  384. 成交
  385. </div>
  386. <!-- 补充定金 -->
  387. <div
  388. v-if="
  389. scope.row.defaultDeposit > 0 && scope.row.salePlanType == '期货'
  390. "
  391. class="record"
  392. v-hasPermission="
  393. `sale.saleOrder.deposit`
  394. "
  395. @click="addthedeposit(scope.row)"
  396. >
  397. 补充定金
  398. </div>
  399. <!--解冻定金-->
  400. <div
  401. v-if="
  402. scope.row.freezingDeposit > 0 && scope.row.salePlanType == '期货'
  403. "
  404. class="record"
  405. v-hasPermission="
  406. `sale.saleOrder.thaw`
  407. "
  408. @click="unfreeze(scope.row)"
  409. >
  410. 解冻定金
  411. </div>
  412. <!-- 平仓 -->
  413. <div
  414. v-if="
  415. scope.row.openPosition > 0 && scope.row.salePlanType == '期货'
  416. "
  417. class="record"
  418. v-hasPermission="
  419. `sale.saleOrder.close`
  420. "
  421. @click="cloaeposition1(scope.row)"
  422. >
  423. 平仓
  424. </div>
  425. <!--完成-->
  426. <div
  427. v-if="
  428. (scope.row.status == '已通过' || scope.row.status == '已成交') &&
  429. scope.row.salePlanType == '期货'
  430. "
  431. class="record"
  432. v-hasPermission="
  433. `sale.saleOrder.complete`
  434. "
  435. @click="handle(scope.row)"
  436. >
  437. 完成
  438. </div>
  439. <!-- 审核 -->
  440. <div
  441. v-if="scope.row.status == '待审核'&&scope.row.taskId!=null"
  442. type="text"
  443. class="record"
  444. v-hasPermission="
  445. `sale.saleOrder.view`
  446. "
  447. @click="aduit(scope.row)"
  448. >
  449. 审核
  450. </div>
  451. <!--删除-->
  452. <div
  453. v-if="scope.row.status == '待审核'"
  454. class="record"
  455. v-hasPermission="
  456. `sale.saleOrder.delete`
  457. "
  458. @click="deletehandle(scope.row)"
  459. >
  460. 删除
  461. </div>
  462. </template>
  463. </el-table-column>
  464. </el-table>
  465. <!-- 页数 -->
  466. <el-pagination
  467. @size-change="handleSizeChange"
  468. @current-change="handleCurrentChange"
  469. :current-page="currentPage"
  470. :page-size="pageSize"
  471. layout="total, sizes, prev, pager, next, jumper"
  472. :total="deptBudgetTotal"
  473. ></el-pagination>
  474. <!--成交-->
  475. <el-dialog
  476. width="30%"
  477. title="成交"
  478. :visible.sync="dialogFormVisible1"
  479. :append-to-body="true"
  480. >
  481. <el-form ref="warehouseList">
  482. <el-form-item
  483. label="成交价(元/吨)"
  484. prop="transactionPrice"
  485. :label-width="formLabelWidth"
  486. >
  487. <el-input
  488. v-model="clinchdeal1.transactionPrice"
  489. autocomplete="off"
  490. placeholder="请输入成交价"
  491. class="deal"
  492. ></el-input>
  493. </el-form-item>
  494. <el-form-item
  495. label="成交量(吨)"
  496. prop="transactionsNumber"
  497. :label-width="formLabelWidth"
  498. >
  499. <el-input
  500. v-model="clinchdeal1.turnover"
  501. autocomplete="off"
  502. placeholder="请输入成交量"
  503. class="deal"
  504. ></el-input>
  505. </el-form-item>
  506. <el-form-item
  507. label="基差(元/吨)"
  508. prop="basis"
  509. :label-width="formLabelWidth"
  510. >
  511. <el-input
  512. v-model="clinchdeal1.basis"
  513. autocomplete="off"
  514. placeholder="请输入基差"
  515. class="deal"
  516. ></el-input>
  517. </el-form-item>
  518. <el-form-item
  519. label="成交日期"
  520. prop="submissionDate"
  521. :label-width="formLabelWidth"
  522. class="deal"
  523. >
  524. <ws-date-picker
  525. v-model="clinchdeal1.dealDate"
  526. type="date"
  527. placeholder="请选择成交日期"
  528. value-format="yyyy-MM-dd"
  529. class="deal"
  530. />
  531. </el-form-item>
  532. </el-form>
  533. <div slot="footer" class="dialog-footer">
  534. <el-button @click="dialogFormVisible1 = false">取 消</el-button>
  535. <el-button type="primary" @click="chengjiao()">确 定</el-button>
  536. </div>
  537. </el-dialog>
  538. <!-- 补充定金 -->
  539. <el-dialog
  540. width="40%"
  541. title="补充定金"
  542. :visible.sync="dialogFormVisible3"
  543. :append-to-body="true"
  544. >
  545. <el-form :model="form">
  546. <h5>{{ replenishlist.customer }}</h5>
  547. <el-form-item label="拖欠定金" :label-width="formLabelWidth">
  548. {{ replenishlist.defaultDeposit }}
  549. </el-form-item>
  550. <el-form-item label="可用定金" :label-width="formLabelWidth">
  551. {{ replenishlist.totalDeposit - replenishlist.freezingDeposit }}
  552. </el-form-item>
  553. <el-form-item label="补充金额" :label-width="formLabelWidth">
  554. <el-input
  555. v-model="replenishlist.money"
  556. autocomplete="off"
  557. placeholder="请输入补充金额"
  558. class="deal"
  559. ></el-input>
  560. </el-form-item>
  561. </el-form>
  562. <div slot="footer" class="dialog-footer">
  563. <el-button @click="dialogFormVisible3 = false">取 消</el-button>
  564. <el-button type="primary" @click="replenish()">确 定</el-button>
  565. </div>
  566. </el-dialog>
  567. <!-- 平仓 -->
  568. <el-dialog
  569. width="40%"
  570. title="平仓"
  571. :visible.sync="dialogFormVisible2"
  572. :append-to-body="true"
  573. >
  574. <el-form class="closeposition">
  575. <el-form-item label="成交价格(元/吨)" prop="transactionPrice">
  576. <ws-select
  577. v-model="closePositionList1.transactionPrice"
  578. placeholder
  579. class="deal"
  580. placeholder="请输入成交价"
  581. >
  582. <ws-option
  583. v-for="item in transactionRecordList"
  584. :key="item.constKey"
  585. :label="item.key"
  586. :value="item.key"
  587. />
  588. </ws-select>
  589. </el-form-item>
  590. <el-form-item label="可平仓数量(吨)" prop="openPosition">
  591. <el-input
  592. v-model="closePositionList1.openPosition"
  593. autocomplete="off"
  594. class="deal"
  595. ></el-input>
  596. </el-form-item>
  597. <el-form-item label="平仓数量(吨)" prop="closingQuantity">
  598. <el-input
  599. v-model="closePositionList1.closingQuantity"
  600. autocomplete="off"
  601. placeholder="请输入平仓数量"
  602. class="deal"
  603. ></el-input>
  604. </el-form-item>
  605. <el-form-item label="平仓价格(元/吨)" prop="closeRate">
  606. <el-input
  607. v-model="closePositionList1.closeRate"
  608. autocomplete="off"
  609. placeholder="请输入平仓价格"
  610. class="deal"
  611. ></el-input>
  612. </el-form-item>
  613. <el-form-item label="平仓基差(元/吨)" prop="closingBasis">
  614. <el-input
  615. @input="yingfu"
  616. v-model="closePositionList1.closingBasis"
  617. autocomplete="off"
  618. placeholder="请输入平仓基差"
  619. class="deal"
  620. ></el-input>
  621. </el-form-item>
  622. <el-form-item label="平仓应付(元)" prop="closingPositionPayable">
  623. <el-input
  624. v-model="closePositionList1.closingPositionPayable"
  625. readonly="readonly"
  626. autocomplete="off"
  627. placeholder="不用编辑,自动计算"
  628. class="deal"
  629. ></el-input>
  630. </el-form-item>
  631. <el-form-item label="平仓日期" prop="closePositionDate">
  632. <el-date-picker
  633. v-model="closePositionList1.closePositionDate"
  634. type="date"
  635. placeholder="选择日期"
  636. format="yyyy 年 MM 月 dd 日"
  637. value-format="yyyy-MM-dd"
  638. />
  639. </el-form-item>
  640. </el-form>
  641. <div slot="footer" class="dialog-footer">
  642. <el-button @click="dialogFormVisible2 = false">取 消</el-button>
  643. <el-button type="primary" @click="closepositionconfirm()"
  644. >确 定</el-button
  645. >
  646. </div>
  647. </el-dialog>
  648. <!-- 审核 -->
  649. <el-dialog
  650. width="40%"
  651. title="审核"
  652. :visible.sync="dialogFormVisible4"
  653. :append-to-body="true"
  654. >
  655. <el-form>
  656. <el-form-item label="交易类型" :label-width="formLabelWidth">
  657. 销售
  658. </el-form-item>
  659. <el-form-item label="交易目标" :label-width="formLabelWidth">
  660. {{ aduitlist.tradingTarget }}
  661. </el-form-item>
  662. <el-form-item label="买方" :label-width="formLabelWidth">
  663. {{ aduitlist.buyer }}
  664. </el-form-item>
  665. <el-form-item label="买方电话" :label-width="formLabelWidth">
  666. {{ aduitlist.buyerPhone }}
  667. </el-form-item>
  668. <el-form-item label="交易数量(吨)" :label-width="formLabelWidth">
  669. {{ aduitlist.transactionsNumber }}
  670. </el-form-item>
  671. <el-form-item label="提交时间" :label-width="formLabelWidth">
  672. {{ aduitlist.submitDate }}
  673. </el-form-item>
  674. <el-form-item label="包装方式" :label-width="formLabelWidth">
  675. <ws-select
  676. v-model="aduitlist.packingType"
  677. placeholder
  678. class="deal"
  679. @change="selectpackingType"
  680. >
  681. <ws-option
  682. v-for="item in packingTypeList"
  683. :key="item.constKey"
  684. :label="item.constValue"
  685. :value="item.constValue"
  686. />
  687. </ws-select>
  688. </el-form-item>
  689. <el-form-item
  690. v-if="aduitlist.packingType != '散装'"
  691. label="袋装备注"
  692. :label-width="formLabelWidth"
  693. >
  694. <el-input
  695. maxlength="30"
  696. v-model="aduitlist.baggingNotes"
  697. autocomplete="off"
  698. placeholder="请输入袋装备注,最多30个字"
  699. class="deal"
  700. ></el-input>
  701. </el-form-item>
  702. <el-form-item label="发票类型" :label-width="formLabelWidth">
  703. <ws-select
  704. v-model="aduitlist.type"
  705. placeholder
  706. class="deal"
  707. @change="selectType"
  708. >
  709. <ws-option
  710. v-for="item in invoiceList"
  711. :key="item.constKey"
  712. :label="item.constValue"
  713. :value="item.constValue"
  714. />
  715. </ws-select>
  716. </el-form-item>
  717. <el-form-item label="单价(元/吨)" :label-width="formLabelWidth">
  718. <el-input
  719. v-model="aduitlist.unitPrice"
  720. autocomplete="off"
  721. placeholder="请输入单价"
  722. class="deal"
  723. ></el-input>
  724. </el-form-item>
  725. <el-form-item
  726. v-if="aduitlist.salePlanType == '期货'"
  727. label="基差(元/吨)"
  728. :label-width="formLabelWidth"
  729. v
  730. >
  731. <el-input
  732. v-model="aduitlist.basis"
  733. autocomplete="off"
  734. placeholder="请输入基差"
  735. class="deal"
  736. ></el-input>
  737. </el-form-item>
  738. <!-- <el-form-item
  739. v-if="aduitlist.salePlanType == '期货'"
  740. label="卸车费(元/吨)"
  741. :label-width="formLabelWidth"
  742. >
  743. <el-input
  744. v-model="aduitlist.unloadingCharge"
  745. autocomplete="off"
  746. placeholder="请输入卸车费"
  747. class="deal"
  748. ></el-input>
  749. </el-form-item> -->
  750. <el-form-item
  751. v-if="aduitlist.salePlanType == '期货'"
  752. label="发票费用(元/吨)"
  753. :label-width="formLabelWidth"
  754. >
  755. <el-input
  756. v-model="aduitlist.invoiceFee"
  757. autocomplete="off"
  758. placeholder="请输入发票费用"
  759. class="deal"
  760. ></el-input>
  761. </el-form-item>
  762. <el-form-item label="合同编号" :label-width="formLabelWidth">
  763. <el-select
  764. v-model="aduitlist.contractNo"
  765. placeholder="请选择合同编号"
  766. class="deal"
  767. filterable
  768. :filter-method="dataFilter"
  769. >
  770. <el-option
  771. v-for="item in options"
  772. :key="item.constKey"
  773. :label="item.contractNo"
  774. :value="item.contractNo"
  775. />
  776. </el-select>
  777. </el-form-item>
  778. </el-form>
  779. <div slot="footer" class="dialog-footer">
  780. <el-button @click="dialogFormVisible4 = false">取 消</el-button>
  781. <el-button type="primary" @click="aduitconfirm()">通过</el-button>
  782. </div>
  783. </el-dialog>
  784. <!-- 客户信息 -->
  785. <el-dialog
  786. width="30%"
  787. title="客户信息"
  788. :visible.sync="dialogFormVisible8"
  789. :append-to-body="true"
  790. >
  791. <el-form class="customer" :model="form">
  792. <h4 v-if="customerlist.customerTypeFlag != 1">营业执照</h4>
  793. <img
  794. v-if="customerlist.customerTypeFlag != 1"
  795. width="50%"
  796. :src="customerlist.businessLicenseAddressUrl"
  797. alt
  798. />
  799. <el-form-item
  800. v-if="customerlist.customerTypeFlag != 1"
  801. label="公司名称"
  802. :label-width="formLabelWidth"
  803. >
  804. {{ customerlist.compName }}
  805. </el-form-item>
  806. <el-form-item
  807. v-if="customerlist.customerTypeFlag != 1"
  808. label="纳税人识别号"
  809. :label-width="formLabelWidth"
  810. >
  811. {{ customerlist.payTaxesCard }}
  812. </el-form-item>
  813. <div class="flex">
  814. <div style="flex: 1; text-align: center">
  815. <h4>身份证正面</h4>
  816. <img width="100%" :src="customerlist.cardAddressUrl1" alt />
  817. </div>
  818. <div style="flex: 1; text-align: center">
  819. <h4>身份证反面</h4>
  820. <img width="100%" :src="customerlist.cardAddressUrl2" alt />
  821. </div>
  822. </div>
  823. <el-form-item label="姓名" :label-width="formLabelWidth">
  824. {{ customerlist.customerName }}
  825. </el-form-item>
  826. <el-form-item label="身份证号" :label-width="formLabelWidth">
  827. {{ customerlist.customerNumberCard }}
  828. </el-form-item>
  829. <div class="flex">
  830. <div style="flex: 1; text-align: center">
  831. <h4>银行卡正面</h4>
  832. <img width="100%" :src="customerlist.payeeAddressUrl1" alt />
  833. </div>
  834. <div style="flex: 1; text-align: center">
  835. <h4>银行卡反面</h4>
  836. <img width="100%" :src="customerlist.payeeAddressUrl2" alt />
  837. </div>
  838. </div>
  839. <el-form-item label="银行卡号" :label-width="formLabelWidth">
  840. {{ customerlist.bankCard }}
  841. </el-form-item>
  842. <el-form-item label="开户行" :label-width="formLabelWidth">
  843. {{ customerlist.bankDeposit }}
  844. </el-form-item>
  845. <el-form-item label="开户支行" :label-width="formLabelWidth">
  846. {{ customerlist.bankDepositBranch }}
  847. </el-form-item>
  848. <el-form-item
  849. label="收款人姓名"
  850. :label-width="formLabelWidth"
  851. v-if="customerlist.customerTypeFlag == 1"
  852. >
  853. {{ customerlist.payeeName }}
  854. </el-form-item>
  855. <el-form-item
  856. label="收款人身份证号"
  857. :label-width="formLabelWidth"
  858. v-if="customerlist.customerTypeFlag == 1"
  859. >
  860. {{ customerlist.payeeNumberCard }}
  861. </el-form-item>
  862. <el-form-item label="手机号" :label-width="formLabelWidth">
  863. {{ customerlist.customerPhone }}
  864. </el-form-item>
  865. <el-form-item
  866. label="公司地址"
  867. :label-width="formLabelWidth"
  868. v-if="customerlist.customerTypeFlag != 1"
  869. >
  870. {{ customerlist.compAddress }}
  871. </el-form-item>
  872. <el-form-item
  873. label="联系地址"
  874. :label-width="formLabelWidth"
  875. v-if="customerlist.customerTypeFlag == 1"
  876. >
  877. {{ customerlist.compAddress }}
  878. </el-form-item>
  879. </el-form>
  880. <div slot="footer" class="dialog-footer">
  881. <el-button @click="dialogFormVisible8 = false">取 消</el-button>
  882. </div>
  883. </el-dialog>
  884. <!-- 成交记录 -->
  885. <el-dialog
  886. width="40%"
  887. title="成交记录"
  888. :visible.sync="dialogFormVisible6"
  889. :append-to-body="true"
  890. >
  891. <el-table :data="transactionRecordList">
  892. <el-table-column prop="transactionPrice" label="成交价(元)">
  893. </el-table-column>
  894. <el-table-column prop="basis" label="基差(元)"> </el-table-column>
  895. <el-table-column prop="turnover" label="成交量(吨)"> </el-table-column>
  896. <el-table-column prop="dealDate" label="成交日期"> </el-table-column>
  897. </el-table>
  898. </el-dialog>
  899. <!-- 平仓记录 -->
  900. <el-dialog
  901. width="40%"
  902. title="平仓记录"
  903. :visible.sync="dialogFormVisible7"
  904. :append-to-body="true"
  905. >
  906. <el-table :data="closePositionList">
  907. <el-table-column prop="transactionPrice" label="成交价(元)">
  908. </el-table-column>
  909. <el-table-column prop="closingPrice" label="平仓价(元)"> </el-table-column>
  910. <el-table-column prop="basis" label="基差(元)"> </el-table-column>
  911. <el-table-column prop="turnover" label="平仓量(吨)"> </el-table-column>
  912. <el-table-column prop="dealDate" label="平仓日期"> </el-table-column>
  913. </el-table>
  914. </el-dialog>
  915. <!--改价记录-->
  916. <el-dialog
  917. width="10%"
  918. title="改价记录"
  919. :visible.sync="dialogFormVisible5"
  920. :append-to-body="true"
  921. >
  922. <div v-for="item in pricechange">
  923. <div>{{ item.priceType }}</div>
  924. <div class="price">
  925. {{ item.price }}
  926. </div>
  927. <div>{{ item.updateDate }}</div>
  928. </div>
  929. </el-dialog>
  930. </div>
  931. <!-- </div> -->
  932. </template>
  933. <script>
  934. import { packList } from '@/model/contarct/index'
  935. import {
  936. detailsList,
  937. chengList,
  938. closePositionList,
  939. aduitsale,
  940. aduitcontractno,
  941. editStatus,
  942. deletesale,
  943. getsalepricelist,
  944. } from '@/model/salesManagement/index'
  945. import {
  946. posthandle
  947. } from '@/model/purchasingManagement/index'
  948. import { downloadFile } from '@/utils/batchDown'
  949. import Pagination from '@/components/Pagination'
  950. import WsUpload from '@/components/WsUpload'
  951. import { dayjs, fmoney, EventBus } from 'base-core-lib'
  952. export default {
  953. name: 'viewSpareMoney',
  954. components: {
  955. WsUpload,
  956. Pagination,
  957. },
  958. watch: {
  959. vesselId(val) {
  960. this.getList()
  961. },
  962. isShow(val) {
  963. this.showType = val
  964. },
  965. },
  966. data() {
  967. return {
  968. dialogFormVisible1: false,
  969. dialogFormVisible2: false,
  970. dialogFormVisible3: false,
  971. dialogFormVisible4: false,
  972. dialogFormVisible5: false,
  973. dialogFormVisible6: false,
  974. dialogFormVisible7: false,
  975. dialogFormVisible8: false,
  976. dialogVisible: false,
  977. dialogImageUrl: '',
  978. form: {
  979. transactionPrice: '',
  980. transactionsNumber: '',
  981. basis: 0,
  982. submissionDate: '',
  983. // delivery: false,
  984. // type: [],
  985. // resource: '',
  986. // desc: ''
  987. },
  988. formLabelWidth: '120px',
  989. basischange: false,
  990. clinchdeal: {},
  991. clinchdeal1: {},
  992. barWidth: 0,
  993. barHeight: 0,
  994. retioX: 1,
  995. ratioY: 1,
  996. isTaped: false,
  997. isHover: false,
  998. isShow: !this.autohide,
  999. //弹出框
  1000. dialogViewSpareMoney: false,
  1001. dialogApproveFormVisible: false,
  1002. // 船舶类型
  1003. monetaryKey: null,
  1004. // 表格显示数据
  1005. tableDate: [],
  1006. // 是否显示
  1007. showType: true,
  1008. // 年
  1009. year: '',
  1010. pickerOptions: {},
  1011. value2: '',
  1012. deptBudgetTotal: 0,
  1013. currentPage: 1,
  1014. tranTypeKey: 1,
  1015. pageSize: 10,
  1016. searchType: '',
  1017. searchTypeText: '全部订单',
  1018. searchKeyWord: '',
  1019. contractType: 1,
  1020. enter: {
  1021. closePositionList: [],
  1022. },
  1023. transactionRecordList: [],
  1024. // taskTypeList:[
  1025. // {value:'待审核',type:1},
  1026. // {value:'已完成',type:2},
  1027. // {value:'已通过',type:3},
  1028. // {value:'已成交',type:4},
  1029. // ],
  1030. // 提交类型
  1031. submitType: true,
  1032. size: 10,
  1033. spanArr: [],
  1034. // contractNo: '',
  1035. customerlist: {},
  1036. packingTypeList: [],
  1037. inOutTaskNo: '',
  1038. compId: sessionStorage.getItem('ws-pf_compId'),
  1039. deptCircularPage: {},
  1040. warehouseList: [],
  1041. deptBudgetList: {},
  1042. transactionRecordList: {},
  1043. pcFlag: 1,
  1044. invoiceList: [],
  1045. contractNoList: [],
  1046. options:[],
  1047. pricechange: [],
  1048. searchTypeList: [
  1049. { value: '待审核', type: 1 },
  1050. { value: '执行中', type: 2 },
  1051. { value: '已完成', type: 3 },
  1052. { value: '全部订单', type: '' },
  1053. ],
  1054. aduitlist: {},
  1055. basis: 0,
  1056. replenishlist: {},
  1057. closePositionList1: {},
  1058. closePositionList: [],
  1059. historyList: [],
  1060. pickerBeginDateBefore: {
  1061. disabledDate: (time) => {
  1062. return time.getTime() > Date.now()
  1063. },
  1064. },
  1065. accessoryTFs: false,
  1066. }
  1067. },
  1068. activated() {
  1069. // this.loaddata()
  1070. this.getList()
  1071. this.showType = this.isShow
  1072. },
  1073. methods: {
  1074. //查找
  1075. find() {
  1076. this.currentPage = 1
  1077. this.getList()
  1078. },
  1079. selectExamineType(e) {
  1080. for (var i = 0; i < this.searchTypeList.length; i++) {
  1081. if (this.searchTypeList[i].value == e) {
  1082. this.searchType = this.searchTypeList[i].type
  1083. }
  1084. }
  1085. },
  1086. nocomplete1(row) {
  1087. this.$router.push({
  1088. name: 'salesDeliveryReportList',
  1089. query: {
  1090. compId: sessionStorage.getItem('ws-pf_compId'),
  1091. currentPage: this.currentPage,
  1092. pageSize: this.pageSize
  1093. },
  1094. })
  1095. },
  1096. nocomplete(row) {
  1097. this.$router.push({
  1098. name: 'salesClosingCashierList',
  1099. query: {
  1100. compId: sessionStorage.getItem('ws-pf_compId'),
  1101. currentPage: this.currentPage,
  1102. pageSize: this.pageSize
  1103. },
  1104. })
  1105. },
  1106. //查看计划
  1107. lookPlan(row) {
  1108. this.$router.push({
  1109. path: 'salesPlanLook',
  1110. query: {
  1111. id: row.planId,
  1112. },
  1113. })
  1114. },
  1115. //查看合同
  1116. lookContract(row) {
  1117. if(row.goodsType==1){
  1118. this.$router.push({
  1119. name: 'salesContractExamine',
  1120. query: {
  1121. id: row.contractId,
  1122. },
  1123. })
  1124. }
  1125. else{
  1126. this.$router.push({
  1127. name: 'futuresSalesContractExamine',
  1128. query: {
  1129. id: row.contractId,
  1130. },
  1131. })
  1132. }
  1133. },
  1134. dataFilter(val) {
  1135. // console.log(val,"名")
  1136. this.aduitlist.contractNo = val
  1137. if (val) {
  1138. //val存在
  1139. this.options = this.contractNoList.filter(item => {
  1140. if (
  1141. !!~item.contractNo.indexOf(val) ||
  1142. !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
  1143. ) {
  1144. return true
  1145. }
  1146. })
  1147. } else {
  1148. //val为空时,还原数组
  1149. this.options =this.contractNoList
  1150. }
  1151. },
  1152. //完成
  1153. handle(item) {
  1154. this.$confirm(`状态修改为已完成后不可再进行交易操作,是否确定修改?`, {
  1155. confirmButtonText: '确定',
  1156. cancelButtonText: '取消',
  1157. type: 'warning',
  1158. }).then(() => {
  1159. editStatus({ id: item.id, flag: 2 })
  1160. .toPromise()
  1161. .then((response) => {
  1162. this.$message.success('修改成功')
  1163. this.getList()
  1164. })
  1165. .catch((req) => {
  1166. this.$message.success('修改失败')
  1167. })
  1168. })
  1169. },
  1170. //成交
  1171. makeabargain(item) {
  1172. this.dialogFormVisible1 = true
  1173. this.clinchdeal.id = item.id
  1174. this.clinchdeal.contractNo = item.contractNo
  1175. this.clinchdeal.goodsName = item.goodsName
  1176. this.clinchdeal.planId = item.planId
  1177. this.clinchdeal.buyer = item.buyer
  1178. this.clinchdeal.commonId = item.commonId
  1179. },
  1180. //成交
  1181. chengjiao() {
  1182. if (!this.clinchdeal1.transactionPrice) {
  1183. this.$message({
  1184. message: '成交价不能为空',
  1185. type: 'warning',
  1186. })
  1187. return
  1188. }
  1189. if (
  1190. (this.clinchdeal1.transactionPrice &&
  1191. String(this.clinchdeal1.transactionPrice).indexOf('.') != -1 &&
  1192. String(this.clinchdeal1.transactionPrice).length -
  1193. (String(this.clinchdeal1.transactionPrice).indexOf('.') + 1) >
  1194. 2) ||
  1195. this.clinchdeal1.transactionPrice > 100000 ||
  1196. this.clinchdeal1.transactionPrice < 0
  1197. ) {
  1198. this.$message({
  1199. message: '成交价输入错误',
  1200. type: 'warning',
  1201. })
  1202. return
  1203. }
  1204. if (!this.clinchdeal1.turnover) {
  1205. this.$message({
  1206. message: '成交量不能为空',
  1207. type: 'warning',
  1208. })
  1209. return
  1210. }
  1211. if (
  1212. (this.clinchdeal1.turnover &&
  1213. String(this.clinchdeal1.turnover).indexOf('.') != -1 &&
  1214. String(this.clinchdeal1.turnover).length -
  1215. (String(this.clinchdeal1.turnover).indexOf('.') + 1) >
  1216. 2) ||
  1217. this.clinchdeal1.turnover > 1000000 ||
  1218. this.clinchdeal1.turnover < 1
  1219. ) {
  1220. this.$message({
  1221. message: '成交量输入错误',
  1222. type: 'warning',
  1223. })
  1224. return
  1225. }
  1226. if (!String(this.clinchdeal1.basis)) {
  1227. this.$message({
  1228. message: '基差不能为空',
  1229. type: 'warning',
  1230. })
  1231. return
  1232. }
  1233. if (
  1234. (this.clinchdeal1.basis &&
  1235. String(this.clinchdeal1.basis).indexOf('.') != -1 &&
  1236. String(this.clinchdeal1.basis).length -
  1237. (String(this.clinchdeal1.basis).indexOf('.') + 1) >
  1238. 2) ||
  1239. this.clinchdeal1.basis > 10000 ||
  1240. this.clinchdeal1.basis < 0
  1241. ) {
  1242. this.$message({
  1243. message: '基差输入错误',
  1244. type: 'warning',
  1245. })
  1246. return
  1247. }
  1248. if (!this.clinchdeal1.dealDate) {
  1249. this.$message({
  1250. message: '成交日期不能为空',
  1251. type: 'warning',
  1252. })
  1253. return
  1254. }
  1255. this.$confirm(`确定提交成交信息`, {
  1256. cancelButtonText: '取消',
  1257. confirmButtonText: '确定',
  1258. type: 'warning',
  1259. }).then(() => {
  1260. chengList({
  1261. transactionRecord: this.clinchdeal1,
  1262. id: this.clinchdeal.id,
  1263. compId: sessionStorage.getItem('ws-pf_compId'),
  1264. contractNo: this.clinchdeal.contractNo,
  1265. planId: this.clinchdeal.planId,
  1266. goodsName: this.clinchdeal.goodsName,
  1267. buyer: this.clinchdeal.buyer,
  1268. commonId: this.clinchdeal.commonId,
  1269. })
  1270. .toPromise()
  1271. .then((response) => {
  1272. this.$message.success('成交成功')
  1273. this.dialogFormVisible1 = false
  1274. this.getList()
  1275. })
  1276. .catch(() => {
  1277. return false
  1278. })
  1279. })
  1280. },
  1281. //删除
  1282. deletehandle(item) {
  1283. this.$confirm(`销售订单删除后不可恢复,是否确定删除?`, {
  1284. confirmButtonText: '确定',
  1285. cancelButtonText: '取消',
  1286. type: 'warning',
  1287. }).then(() => {
  1288. deletesale({ id: item.id })
  1289. .toPromise()
  1290. .then((response) => {
  1291. this.$message.success('删除订单成功')
  1292. this.getList()
  1293. })
  1294. .catch((req) => {
  1295. this.$message.success('删除订单失败')
  1296. })
  1297. })
  1298. },
  1299. //平仓
  1300. closepositionconfirm() {
  1301. if (!this.closePositionList1.transactionPrice) {
  1302. this.$message({
  1303. message: '成交价不能为空!',
  1304. type: 'warning',
  1305. })
  1306. return
  1307. }
  1308. if (!this.closePositionList1.closingQuantity) {
  1309. this.$message({
  1310. message: '平仓数量不能为空!',
  1311. type: 'warning',
  1312. })
  1313. return
  1314. }
  1315. if (
  1316. (this.closePositionList1.closingQuantity &&
  1317. String(this.closePositionList1.closingQuantity).indexOf('.') != -1 &&
  1318. String(this.closePositionList1.closingQuantity).length -
  1319. (String(this.closePositionList1.closingQuantity).indexOf('.') + 1) >
  1320. 2) ||
  1321. this.closePositionList1.closingQuantity >
  1322. this.closePositionList1.openPosition ||
  1323. this.closePositionList1.closingQuantity < 1
  1324. ) {
  1325. this.$message({
  1326. message: '平仓数量超出上限',
  1327. type: 'warning',
  1328. })
  1329. return
  1330. }
  1331. if (!this.closePositionList1.closeRate) {
  1332. this.$message({
  1333. message: '平仓价格不能为空!',
  1334. type: 'warning',
  1335. })
  1336. return
  1337. }
  1338. if (
  1339. (this.closePositionList1.closeRate &&
  1340. String(this.closePositionList1.closeRate).indexOf('.') != -1 &&
  1341. String(this.closePositionList1.closeRate).length -
  1342. (String(this.closePositionList1.closeRate).indexOf('.') + 1) >
  1343. 2) ||
  1344. this.closePositionList1.closeRate > 100000 ||
  1345. this.closePositionList1.closeRate < 0
  1346. ) {
  1347. this.$message({
  1348. message: '平仓价格输入错误',
  1349. type: 'warning',
  1350. })
  1351. return
  1352. }
  1353. if (!String(this.closePositionList1.closingBasis)) {
  1354. this.$message({
  1355. message: '平仓基差不能为空!',
  1356. type: 'warning',
  1357. })
  1358. return
  1359. }
  1360. if (
  1361. (this.closePositionList1.closingBasis &&
  1362. String(this.closePositionList1.closingBasis).indexOf('.') != -1 &&
  1363. String(this.closePositionList1.closingBasis).length -
  1364. (String(this.closePositionList1.closingBasis).indexOf('.') + 1) >
  1365. 2) ||
  1366. this.closePositionList1.closingBasis > 10000 ||
  1367. this.closePositionList1.closingBasis < 0
  1368. ) {
  1369. this.$message({
  1370. message: '平仓基差输入错误',
  1371. type: 'warning',
  1372. })
  1373. return
  1374. }
  1375. if (!this.closePositionList1.closePositionDate) {
  1376. this.$message({
  1377. message: '平仓日期不能为空!',
  1378. type: 'warning',
  1379. })
  1380. return
  1381. }
  1382. this.closePositionList1.compId = sessionStorage.getItem('ws-pf_compId')
  1383. closePositionList(this.closePositionList1)
  1384. .toPromise()
  1385. .then((response) => {
  1386. this.$message.success('平仓成功')
  1387. this.closePositionList1 = {}
  1388. this.dialogFormVisible2 = false
  1389. this.getList()
  1390. })
  1391. .catch((req) => {
  1392. this.$message.warning('平仓失败')
  1393. })
  1394. },
  1395. cloaeposition1(item) {
  1396. this.dialogFormVisible2 = true
  1397. this.$set(this.closePositionList1, 'id', item.id)
  1398. // this.transactionRecordList = item.transactionRecordList
  1399. this.$set(this.closePositionList1, 'openPosition', item.openPosition)
  1400. this.$set(
  1401. this.closePositionList1,
  1402. 'transactionsNumber',
  1403. item.transactionsNumber
  1404. )
  1405. this.$set(this.closePositionList1, 'contractNo', item.contractNo)
  1406. this.$set(this.closePositionList1, 'planId', item.planId)
  1407. this.$set(this.closePositionList1, 'closeRate', item.closeRate)
  1408. this.$set(this.closePositionList1, 'seller', item.seller)
  1409. this.$set(this.closePositionList1, 'commonId', item.commonId)
  1410. getsalepricelist({
  1411. id: item.id,
  1412. })
  1413. .toPromise()
  1414. .then((response) => {
  1415. this.transactionRecordList = response
  1416. })
  1417. },
  1418. yingfu(item) {
  1419. this.closePositionList1.closingPositionPayable =
  1420. (this.closePositionList1.closeRate -
  1421. this.closePositionList1.transactionPrice -
  1422. this.closePositionList1.closingBasis) *
  1423. this.closePositionList1.closingQuantity
  1424. },
  1425. //修改基差
  1426. changebasis(item) {
  1427. // editStatus({ basis: Math.abs(this.basis), id: item.id, flag: 3 })
  1428. editStatus({ basis: this.basis, id: item.id, flag: 3 })
  1429. .toPromise()
  1430. .then((response) => {
  1431. this.$message.success('修改基差成功')
  1432. this.getList()
  1433. })
  1434. .catch((req) => {
  1435. this.$message.warning('修改基差失败')
  1436. })
  1437. },
  1438. editbasis(item) {
  1439. this.basis = item.basis
  1440. item.basischange = true
  1441. },
  1442. //解冻定金
  1443. unfreeze(item) {
  1444. this.$confirm(`确定解冻订单(${item.salePlan})的定金?`, {
  1445. confirmButtonText: '确定',
  1446. cancelButtonText: '取消',
  1447. type: 'warning',
  1448. }).then(() => {
  1449. editStatus({ id: item.id, flag: 1 })
  1450. .toPromise()
  1451. .then((response) => {
  1452. this.$message.success('解冻定金成功')
  1453. this.getList()
  1454. })
  1455. .catch((req) => {
  1456. this.$message.success('解冻定金失败')
  1457. })
  1458. })
  1459. },
  1460. //补充定金
  1461. addthedeposit(item) {
  1462. this.dialogFormVisible3 = true
  1463. this.$set(this.replenishlist, 'id', item.id)
  1464. this.$set(this.replenishlist, 'customer', item.customer)
  1465. this.$set(this.replenishlist, 'defaultDeposit', item.defaultDeposit)
  1466. this.$set(
  1467. this.replenishlist,
  1468. 'totalDeposit',
  1469. item.customerInfo.totalDeposit
  1470. )
  1471. this.$set(this.replenishlist, 'freezingDeposit', item.freezingDeposit)
  1472. },
  1473. replenish() {
  1474. this.dialogFormVisible3 = false
  1475. if (!this.replenishlist.money) {
  1476. this.$message({
  1477. message: '补充金额不能为空!',
  1478. type: 'warning',
  1479. })
  1480. return
  1481. }
  1482. if (
  1483. String(this.replenishlist.money).indexOf('.') != -1 &&
  1484. String(this.replenishlist.money).length -
  1485. (String(this.replenishlist.money).indexOf('.') + 1) >
  1486. 2
  1487. ) {
  1488. this.$message({
  1489. message: '补充金额输入错误!',
  1490. type: 'warning',
  1491. })
  1492. return
  1493. }
  1494. if (this.replenishlist.money > this.replenishlist.defaultDeposit) {
  1495. this.$message({
  1496. message: '补充金额不能超过拖欠定金!',
  1497. type: 'warning',
  1498. })
  1499. return
  1500. }
  1501. if (
  1502. this.replenishlist.money >
  1503. this.replenishlist.totalDeposit - this.replenishlist.freezingDeposit
  1504. ) {
  1505. this.$message({
  1506. message: '补充金额不能超过可用定金!',
  1507. type: 'warning',
  1508. })
  1509. return
  1510. }
  1511. editStatus({
  1512. money: this.replenishlist.money,
  1513. id: this.replenishlist.id,
  1514. flag: 0,
  1515. })
  1516. .toPromise()
  1517. .then((response) => {
  1518. this.$message.success('补充成功')
  1519. this.getList()
  1520. })
  1521. .catch((req) => {
  1522. this.$message.success('补充失败')
  1523. })
  1524. },
  1525. //审核
  1526. aduit(item) {
  1527. this.dialogFormVisible4 = true
  1528. this.aduitlist.id = item.id
  1529. this.aduitlist.taskId=item.taskId
  1530. this.aduitlist.type = '销售'
  1531. this.$set(this.aduitlist, 'buyer', item.buyer)
  1532. this.$set(this.aduitlist, 'buyerPhone', item.buyerPhone)
  1533. this.$set(this.aduitlist, 'tradingTarget', item.tradingTarget)
  1534. this.$set(this.aduitlist, 'transactionsNumber', item.transactionsNumber)
  1535. this.$set(this.aduitlist, 'submitDate', item.createDate)
  1536. this.$set(this.aduitlist, 'packingType', item.packingType)
  1537. this.$set(this.aduitlist, 'packingTypeKey', item.packingTypeKey)
  1538. this.$set(this.aduitlist, 'taskId', item.taskId)
  1539. this.$set(this.aduitlist, 'type', item.type)
  1540. this.$set(this.aduitlist, 'typeKey', item.typeKey)
  1541. this.$set(this.aduitlist, 'salePlanType', item.salePlanType)
  1542. this.$set(this.aduitlist, 'depositRatio', item.customerInfo.depositRatio)
  1543. this.$set(this.aduitlist, 'totalDeposit', item.customerInfo.totalDeposit)
  1544. this.$set(this.aduitlist, 'unitPrice', item.unitPrice)
  1545. this.$set(this.aduitlist, 'invoiceFee', item.invoiceFee)
  1546. this.$set(this.aduitlist, 'basis', item.basis)
  1547. },
  1548. aduitconfirm() {
  1549. if (!this.aduitlist.unitPrice) {
  1550. this.$message({
  1551. message: '单价不能为空!',
  1552. type: 'warning',
  1553. })
  1554. return
  1555. }
  1556. if ( !String(this.aduitlist.basis) && this.aduitlist.salePlanType == '期货') {
  1557. this.$message({
  1558. message: '基差不能为空!',
  1559. type: 'warning',
  1560. })
  1561. return
  1562. }
  1563. if (!this.aduitlist.contractNo) {
  1564. this.$message({
  1565. message: '合同编号不能为空!',
  1566. type: 'warning',
  1567. })
  1568. return
  1569. }
  1570. if (
  1571. this.aduitlist.packingTypeKey != 1 &&
  1572. this.aduitlist.baggingNotes.length > 30
  1573. ) {
  1574. this.$message({
  1575. message: '袋装备注最长不能超过30字!',
  1576. type: 'warning',
  1577. })
  1578. return
  1579. }
  1580. if (
  1581. (this.aduitlist.unitPrice &&
  1582. String(this.aduitlist.unitPrice).indexOf('.') != -1 &&
  1583. String(this.aduitlist.unitPrice).length -
  1584. (String(this.aduitlist.unitPrice).indexOf('.') + 1) >
  1585. 2) ||
  1586. this.aduitlist.unitPrice > 100000 ||
  1587. this.aduitlist.unitPrice < 1
  1588. ) {
  1589. this.$message({
  1590. message: '单价输入错误',
  1591. type: 'warning',
  1592. })
  1593. return
  1594. }
  1595. if(this.aduitlist.salePlanType != '现货'){
  1596. if (
  1597. (
  1598. this.aduitlist.basis &&
  1599. String(this.aduitlist.basis).indexOf('.') != -1 &&
  1600. String(aduitlist.basis).length -
  1601. (String(this.aduitlist.basis).indexOf('.') + 1) >
  1602. 2) ||
  1603. (this.aduitlist.salePlanType == '期货' &&
  1604. this.aduitlist.basis > 10000) ||
  1605. (this.aduitlist.salePlanType == '期货' && this.aduitlist.basis < 0)
  1606. ) {
  1607. this.$message({
  1608. message: '基差输入错误',
  1609. type: 'warning',
  1610. })
  1611. return
  1612. }
  1613. if (
  1614. (this.aduitlist.invoiceFee &&
  1615. String(this.aduitlist.invoiceFee).indexOf('.') != -1 &&
  1616. String(aduitlist.invoiceFee).length -
  1617. (String(this.aduitlist.invoiceFee).indexOf('.') + 1) >
  1618. 2) ||
  1619. this.aduitlist.invoiceFee > 1000 ||
  1620. this.aduitlist.invoiceFee < 0
  1621. ) {
  1622. this.$message({
  1623. message: '发票费用输入错误',
  1624. type: 'warning',
  1625. })
  1626. return
  1627. }
  1628. }
  1629. if (this.aduitlist.salePlanType == '期货') {
  1630. this.aduitlist.basis = '+' + this.aduitlist.basis
  1631. }
  1632. this.aduitlist.salePlanType = this.aduitlist.salePlanType
  1633. if (this.aduitlist.salePlanType == '期货') {
  1634. this.aduitlist.freezingDeposit = this.aduitlist.transactionsNumber*this.aduitlist.depositRatio
  1635. }
  1636. this.dialogFormVisible4 = false
  1637. this.$confirm(`审核通过后,将通知客户订单生效,是否确定通过审核?`, {
  1638. confirmButtonText: '确定',
  1639. cancelButtonText: '取消',
  1640. type: 'warning',
  1641. }).then(() => {
  1642. aduitsale(this.aduitlist)
  1643. .toPromise()
  1644. .then((response) => {
  1645. posthandle({ taskId: this.aduitlist.taskId,
  1646. approved: true,
  1647. auditMind: '34',
  1648. needReapply: false,})
  1649. .toPromise()
  1650. .then((response) => {
  1651. this.$message.success('审核成功')
  1652. this.aduitlist = {}
  1653. this.getList()
  1654. })
  1655. })
  1656. })
  1657. },
  1658. //客户
  1659. customer(item) {
  1660. this.dialogFormVisible8 = true
  1661. if (item.customerInfo) {
  1662. this.customerlist = item.customerInfo
  1663. this.customerlist.cardAddressUrl1 =
  1664. this.customerlist.cardAddressUrl.split(',')[0]
  1665. this.customerlist.cardAddressUrl2 =
  1666. this.customerlist.cardAddressUrl.split(',')[1]
  1667. this.customerlist.payeeAddressUrl1 =
  1668. this.customerlist.payeeAddressUrl.split(',')[0]
  1669. this.customerlist.payeeAddressUrl2 =
  1670. this.customerlist.payeeAddressUrl.split(',')[1]
  1671. }
  1672. },
  1673. //列表
  1674. getList() {
  1675. detailsList({
  1676. compId: sessionStorage.getItem('ws-pf_compId'),
  1677. currentPage: this.currentPage,
  1678. pageSize: this.pageSize,
  1679. pcFlag: this.pcFlag,
  1680. searchType: this.searchType,
  1681. searchKeyWord: this.searchKeyWord,
  1682. })
  1683. .toPromise()
  1684. .then((response) => {
  1685. for (var i = 0; i < response.records.length; i++) {
  1686. response.records[i].basischange = false
  1687. // response.records[i].openPosition =
  1688. // response.records[i].cumulativeTurnover -
  1689. // response.records[i].closedPosition -
  1690. // response.records[i].stockOutQuantity
  1691. }
  1692. this.warehouseList = response
  1693. this.deptCircularPage.currentPage = response.current
  1694. this.deptCircularPage.pageSize = response.size
  1695. this.deptBudgetTotal = response.total
  1696. })
  1697. //包装方式
  1698. packList({ constId: 'PRO2' })
  1699. .toPromise()
  1700. .then((response) => {
  1701. this.packingTypeList = response
  1702. })
  1703. // 发票
  1704. packList({ constId: 'PRO5' })
  1705. .toPromise()
  1706. .then((response) => {
  1707. this.invoiceList = response
  1708. })
  1709. // 合同编号
  1710. aduitcontractno({
  1711. compId: sessionStorage.getItem('ws-pf_compId'),
  1712. flag: 4,
  1713. })
  1714. .toPromise()
  1715. .then((response) => {
  1716. this.contractNolist = response
  1717. this.options=response
  1718. })
  1719. },
  1720. Changepricerecord(item) {
  1721. this.dialogFormVisible5 = true
  1722. this.pricechange = item.priceChangeRecordList
  1723. },
  1724. closedPosition(item) {
  1725. this.dialogFormVisible7 = true
  1726. this.closePositionList = item.closePositionList
  1727. },
  1728. transactionRecord(item) {
  1729. this.dialogFormVisible6 = true
  1730. this.transactionRecordList = item.transactionRecordList
  1731. },
  1732. selectpackingType(e) {
  1733. for (var i = 0; i < this.packingTypeList.length; i++) {
  1734. if (this.packingTypeList[i].constValue == e) {
  1735. this.aduitlist.packingTypeKey = this.packingTypeList[i].constKey
  1736. console.log(this.packingTypeList[i].constKey)
  1737. }
  1738. }
  1739. },
  1740. selectType(e) {
  1741. for (var i = 0; i < this.invoiceList.length; i++) {
  1742. if (this.invoiceList[i].constValue == e) {
  1743. this.aduitlist.typeKey = this.invoiceList[i].constKey
  1744. }
  1745. }
  1746. },
  1747. handleRemove(file) {
  1748. console.log(file)
  1749. },
  1750. handlePictureCardPreview(file) {
  1751. this.dialogImageUrl = file.url
  1752. this.dialogVisible = true
  1753. },
  1754. handleDownload(file) {
  1755. console.log(file)
  1756. },
  1757. getSpanArr(data) {
  1758. let that = this
  1759. //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
  1760. that.spanArr = []
  1761. that.pos = 0
  1762. // //遍历数据
  1763. data.forEach((item, index) => {
  1764. //判断是否是第一项
  1765. if (index === 0) {
  1766. this.spanArr.push(1)
  1767. this.pos = 0
  1768. } else {
  1769. //不是第一项时,就根据标识去存储
  1770. if (data[index].warehouseNumViewList.length > 1) {
  1771. 查找到符合条件的数据时每次要把之前存储的数据 + 1
  1772. this.spanArr[this.pos] = data[index].warehouseNumViewList.length
  1773. this.spanArr.push(0)
  1774. } else {
  1775. // 没有符合的数据时,要记住当前的index
  1776. this.spanArr.push(1)
  1777. this.pos = index
  1778. }
  1779. }
  1780. })
  1781. },
  1782. //返回
  1783. revert() {
  1784. this.$router.push({ path: 'warehouseManagementList' })
  1785. },
  1786. dateFormat(fmt, date) {
  1787. let ret
  1788. const opt = {
  1789. 'Y+': date.getFullYear().toString(), // 年
  1790. 'm+': (date.getMonth() + 1).toString(), // 月
  1791. 'd+': date.getDate().toString(), // 日
  1792. 'H+': date.getHours().toString(), // 时
  1793. // "M+": date.getMinutes().toString(), // 分
  1794. // "S+": date.getSeconds().toString() // 秒
  1795. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  1796. }
  1797. for (let k in opt) {
  1798. ret = new RegExp('(' + k + ')').exec(fmt)
  1799. if (ret) {
  1800. fmt = fmt.replace(
  1801. ret[1],
  1802. ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  1803. )
  1804. }
  1805. }
  1806. return fmt
  1807. },
  1808. handleClose() {
  1809. this.accessoryTFs = false
  1810. },
  1811. handleSizeChange(val) {
  1812. console.log(`每页 ${val} 条`)
  1813. this.pageSize = val
  1814. this.getList()
  1815. },
  1816. handleCurrentChange(val) {
  1817. this.currentPage = val
  1818. console.log(`当前页: ${val}`)
  1819. this.getList()
  1820. },
  1821. selecttaskType(e) {
  1822. for (var i = 0; i < this.taskTypeList.length; i++) {
  1823. if (this.taskTypeList[i].value == e) {
  1824. this.searchType = this.taskTypeList[i].type
  1825. }
  1826. }
  1827. },
  1828. handleExamine(row) {
  1829. this.$router.push({
  1830. name: 'salesContractExamine',
  1831. query: { id: row.id },
  1832. })
  1833. },
  1834. // 关闭 dialog时 处理文件url 初始化upload组件
  1835. handleCloe() {
  1836. this.dialogViewSpareMoney = false
  1837. },
  1838. async exportlist() {
  1839. const { data } = await export1(
  1840. {
  1841. compId: sessionStorage.getItem('ws-pf_compId'),
  1842. contractType: this.contractType,
  1843. currentPage: this.currentPage,
  1844. pageSize: this.pageSize,
  1845. searchType: this.searchType,
  1846. searchKeyWord: this.searchKeyWord,
  1847. startDate: this.startDate,
  1848. endDate: this.endDate,
  1849. },
  1850. {},
  1851. { responseType: 'blob' }
  1852. ).toPromise()
  1853. downloadFile({
  1854. res: data,
  1855. fileName: `${
  1856. this.date.year + (this.date.month ? `-${this.date.month}` : '')
  1857. }_销售合同`,
  1858. type: 'xls',
  1859. })
  1860. },
  1861. total() {},
  1862. },
  1863. }
  1864. </script>
  1865. <style lang="scss" scoped>
  1866. // @import '../../../../static/iconfont/iconfont.css';
  1867. .connert {
  1868. width: 90%;
  1869. margin: 0 auto;
  1870. }
  1871. .vertical-text-left {
  1872. width: 62px;
  1873. text-align: right;
  1874. }
  1875. //分页
  1876. .el-pagination {
  1877. padding: 10px 15px;
  1878. margin-bottom: 0;
  1879. text-align: center;
  1880. }
  1881. /deep/.el-pager li.active {
  1882. color: #5878e8;
  1883. cursor: default;
  1884. }
  1885. /deep/.el-pager li:hover {
  1886. color: #5878e8;
  1887. cursor: default;
  1888. }
  1889. .el-button--primary {
  1890. background-color: #5878e8;
  1891. border-color: #5878e8;
  1892. }
  1893. .el-button--default {
  1894. color: #8890b1;
  1895. border-color: #e8eaf1;
  1896. }
  1897. /deep/.base_header_layout .grid-content.right .find.el-button--primary {
  1898. width: 30px;
  1899. margin-left: 0;
  1900. border-top-left-radius: 0px;
  1901. border-bottom-left-radius: 0px;
  1902. margin-top: -1px;
  1903. margin-left: -5px;
  1904. }
  1905. /deep/.findValue .el-input__inner {
  1906. border-top-right-radius: 0px;
  1907. width: 385px;
  1908. }
  1909. .completed.el-button--default {
  1910. border-color: #5878e8;
  1911. background-color: #f6f7fc;
  1912. color: #5878e8;
  1913. }
  1914. .putstorage.el-button--default,
  1915. .deliverystorage.el-button--default {
  1916. border-color: #8890b1;
  1917. background-color: #fff;
  1918. color: #8890b1;
  1919. }
  1920. /deep/.el-table td,
  1921. /deep/.el-table th.is-leaf {
  1922. border-right: 1px solid #e9ecf7;
  1923. text-align: center;
  1924. }
  1925. /deep/.el-table tr td:first-child,
  1926. /deep/.el-table tr th.is-leaf:first-child {
  1927. border-left: 1px solid #e9ecf7;
  1928. }
  1929. .record,
  1930. .adjustment {
  1931. display: inline-block;
  1932. color: #5878e8;
  1933. padding: 0 4px !important;
  1934. position: relative;
  1935. }
  1936. .record:after {
  1937. position: absolute;
  1938. content: '';
  1939. display: block;
  1940. top: 5px;
  1941. right: -2px;
  1942. width: 1px;
  1943. height: 12px;
  1944. background: #e9ecf7;
  1945. }
  1946. // .el-row{
  1947. // height: 150px;
  1948. // }
  1949. .base_header_layout .grid-content {
  1950. margin-top: 80px;
  1951. }
  1952. .el-input--small .el-input__inner {
  1953. margin-left: 20px;
  1954. }
  1955. .el-range-editor--small.el-input__inner {
  1956. height: 32px;
  1957. margin-left: -20%;
  1958. }
  1959. //执行样式
  1960. .executory,
  1961. .inExecution,
  1962. .done {
  1963. width: 6px;
  1964. height: 6px;
  1965. display: inline-block;
  1966. border-radius: 50%;
  1967. position: relative;
  1968. top: -1px;
  1969. font-size: 14px;
  1970. }
  1971. .executory {
  1972. background: #ff9f24;
  1973. }
  1974. .inExecution {
  1975. background: #5878e8;
  1976. }
  1977. .done {
  1978. background: #50cad4;
  1979. }
  1980. .record,
  1981. .adjustment {
  1982. display: inline-block;
  1983. color: #5878e8;
  1984. padding: 0 4px !important;
  1985. position: relative;
  1986. font-size: 14px;
  1987. }
  1988. .container {
  1989. overflow: scroll;
  1990. height: 93vh;
  1991. }
  1992. .typeselect{
  1993. margin-right:10px;
  1994. }
  1995. .button-container {
  1996. display: flex;
  1997. flex-wrap: nowrap;
  1998. justify-content: space-between;
  1999. align-items: center;
  2000. background-color: #fff;
  2001. width: 100%;
  2002. height: 50px;
  2003. padding: 0 10px;
  2004. & > div {
  2005. margin-left: 10px;
  2006. display: flex;
  2007. flex-wrap: nowrap;
  2008. flex-direction: row;
  2009. & > span {
  2010. line-height: 50px;
  2011. }
  2012. }
  2013. /deep/.auditFlow-box {
  2014. position: unset;
  2015. margin-left: 10px;
  2016. &/deep/.auditFlow-icon {
  2017. width: auto;
  2018. padding-right: 30px;
  2019. }
  2020. &/deep/.auditFlow-main {
  2021. position: absolute;
  2022. }
  2023. }
  2024. }
  2025. .bg-left {
  2026. padding-left: 30px;
  2027. }
  2028. .title {
  2029. position: relative;
  2030. }
  2031. .title::before {
  2032. content: '';
  2033. display: inline-block;
  2034. width: 5px;
  2035. height: 30px;
  2036. background: #5473e8;
  2037. position: absolute;
  2038. left: 0;
  2039. }
  2040. .el-button--primary {
  2041. background-color: #5878e8;
  2042. border-color: #5878e8;
  2043. // margin-left: 85%;
  2044. margin-top: 20px;
  2045. }
  2046. //导航条样式
  2047. .el-col-12 {
  2048. width: 50%;
  2049. height: 60px;
  2050. background: #f6f7fc;
  2051. border-radius: 4px 4px 1px 1px;
  2052. }
  2053. .el-input--small .el-input__inner {
  2054. height: 32px;
  2055. line-height: 32px;
  2056. width: 385px;
  2057. margin-top: 10px;
  2058. }
  2059. .bg-bottom {
  2060. margin-left: 85%;
  2061. }
  2062. .but {
  2063. margin-left: 30%;
  2064. /* margin-top: -32px; */
  2065. overflow: auto;
  2066. /* float: left; */
  2067. /* margin-left: 1px; */
  2068. margin-left: -10px;
  2069. }
  2070. /deep/.el-table .el-table__header .cell,
  2071. .el-table .el-table__body .cell {
  2072. text-align: center;
  2073. }
  2074. .el-scrollbar__wrap {
  2075. overflow-y: hidden;
  2076. }
  2077. .deal {
  2078. width: 66%;
  2079. }
  2080. .photo {
  2081. padding: 0% 34%;
  2082. }
  2083. .photo1 {
  2084. padding: 0 10%;
  2085. }
  2086. .photo2 {
  2087. padding: 0 55%;
  2088. }
  2089. /deep/.el-form-item--small .el-form-item__label,
  2090. .el-form-item--small .el-form-item__content {
  2091. text-align: center;
  2092. }
  2093. hr {
  2094. width: 91%;
  2095. }
  2096. /deep/.deaal {
  2097. width: 66%;
  2098. margin-left: 9%;
  2099. }
  2100. /deep/.closeposition .el-form-item__label {
  2101. width: 160px;
  2102. }
  2103. .customer .el-form-item {
  2104. border-bottom: 1px solid #ccc;
  2105. }
  2106. .base_header_layout {
  2107. padding: 10px 10px 0;
  2108. background-color: #fff;
  2109. height: 50px;
  2110. }
  2111. .price {
  2112. margin-left: 97px;
  2113. margin-top: -19px;
  2114. }
  2115. </style>