purchaseOrderList.vue 65 KB

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