addWagonLoad.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792
  1. <template>
  2. <!-- 万州港-达州新增装车1 -->
  3. <div class="addWagonLoad">
  4. <page-title>返回</page-title>
  5. <!-- <div class="cp">
  6. <span >车皮号:</span>
  7. <el-upload style="margin: 8px;"
  8. class="upload-excel"
  9. action=""
  10. :on-change="importExcel"
  11. :show-file-list="false"
  12. accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
  13. :auto-upload="false">
  14. <el-button type="primary">导入</el-button>
  15. </el-upload>
  16. <span >当前导入数量:{{tableData.length}}</span>
  17. </div> -->
  18. <div class="tempTable">
  19. <div class="search" style="display:flex">
  20. <el-input
  21. placeholder="请输入"
  22. v-model="input"
  23. style="margin: 10px; width:20%"
  24. clearable
  25. ></el-input>
  26. <el-button
  27. type="primary"
  28. class="btn"
  29. @click="searchLoadTemp()"
  30. style="margin: 10px;"
  31. >
  32. <i class="el-icon-search"></i>查询
  33. </el-button>
  34. <el-upload style="margin: 10px;"
  35. class="upload-excel"
  36. action=""
  37. :on-change="importExcel"
  38. :show-file-list="false"
  39. accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
  40. :auto-upload="false">
  41. <el-button type="primary">
  42. <i class="el-icon-search"></i>导入查询</el-button>
  43. </el-upload>
  44. </div>
  45. <!-- 临时表已导入配单的车皮 -->
  46. <div class="tempTable" style="height:300px;overflow:scroll;float:left;margin-left:5px">
  47. <el-table
  48. ref="tempTable"
  49. highlight-current-row
  50. @selection-change="handleSelectionChange"
  51. @row-click="rowClick"
  52. :data="tableData"
  53. :row-style="{height:'40px'}"
  54. style="width: 100%;font-size: 18px"
  55. id="domesticTable">
  56. <el-table-column
  57. type="selection"
  58. width="55">
  59. </el-table-column>
  60. <el-table-column
  61. type="index"
  62. width="50"
  63. prop="tempResultId"
  64. label="编号"
  65. align="center"
  66. fixed="left"
  67. :resizable="false">
  68. </el-table-column>
  69. <el-table-column
  70. align="center"
  71. prop="materialName"
  72. label="物资名"
  73. width="240px">
  74. </el-table-column>
  75. <el-table-column
  76. align="center"
  77. prop="foreignShipName"
  78. label="外轮船名"
  79. width="100px">
  80. </el-table-column>
  81. <el-table-column
  82. align="center"
  83. prop="wagonNo"
  84. label="车号"
  85. width="180px">
  86. </el-table-column>
  87. <el-table-column
  88. align="center"
  89. width="100px"
  90. prop="resultBillableTonnage"
  91. label="标重">
  92. </el-table-column>
  93. <el-table-column
  94. align="center"
  95. prop="updateTime"
  96. label="出库时间"
  97. width="200px">
  98. </el-table-column>
  99. </el-table>
  100. </div>
  101. </div>
  102. <!-- <div class="importedTable" style="height:300px;overflow:scroll;">
  103. <el-table
  104. highlight-current-row
  105. :data="tableData"
  106. :row-style="{height:'40px'}"
  107. style="width: 100%,font-size: 20px"
  108. id="domesticTable">
  109. <el-table-column
  110. type="index"
  111. width="50"
  112. prop="number"
  113. label="序号"
  114. align="center"
  115. fixed="left"
  116. :resizable="false">
  117. </el-table-column>
  118. <el-table-column
  119. align="center"
  120. prop="productName"
  121. label="品 名"
  122. width="240px">
  123. </el-table-column>
  124. <el-table-column
  125. align="center"
  126. prop="mineral"
  127. label="矿种"
  128. width="100px">
  129. </el-table-column>
  130. <el-table-column
  131. align="center"
  132. prop="wagonNo"
  133. label="车号"
  134. width="180px">
  135. </el-table-column>
  136. <el-table-column
  137. align="center"
  138. prop="unloadPoint"
  139. label="卸货地点"
  140. width="180px">
  141. </el-table-column>
  142. <el-table-column
  143. align="center"
  144. prop="sendStation"
  145. label="发站"
  146. width="180px">
  147. </el-table-column>
  148. <el-table-column
  149. align="center"
  150. width="180px"
  151. prop="arrivalStation"
  152. label="到站">
  153. </el-table-column>
  154. <el-table-column
  155. align="center"
  156. width="180px"
  157. prop="weight"
  158. label="标重">
  159. </el-table-column>
  160. </el-table>
  161. </div> -->
  162. <div class="right"
  163. style="margin-top:10px
  164. float:right;">
  165. <div class="form">
  166. <div class="form_box" style="">
  167. <el-form>
  168. <div class="preview-group">
  169. <el-form-item label="发站:">
  170. <el-autocomplete
  171. disabled
  172. class="inline-input"
  173. v-model="sendStation"
  174. :fetch-suggestions="querySearchSendStation"
  175. placeholder="请输入发站名称"
  176. :trigger-on-focus="false"
  177. @select="handleSelectSendStation"
  178. >
  179. <template slot-scope="{ item }">
  180. <div class="name">{{ item.arrivalName }}</div>
  181. </template>
  182. </el-autocomplete>
  183. </el-form-item>
  184. <el-form-item label="到站:">
  185. <el-select filterable v-model="arrivalStationId">
  186. <el-option v-for="item in arrivalStations" :value="item.arrivalId" :key="item.arrivalId" :label="item.arrivalName"></el-option>
  187. </el-select>
  188. <!-- <el-autocomplete
  189. class="inline-input"
  190. v-model="toTheStation"
  191. :fetch-suggestions="querySearchToTheStation"
  192. placeholder="请输入到站名称"
  193. :trigger-on-focus="false"
  194. @select="handleSelectToTheStation"
  195. >
  196. <template slot-scope="{ item }">
  197. <div class="name">{{ item.arrivalName }}</div>
  198. </template>
  199. </el-autocomplete> -->
  200. </el-form-item>
  201. </div>
  202. </el-form>
  203. <dil-form :formId="387" v-model="form1" ref="from1"></dil-form>
  204. </div>
  205. </div>
  206. <div class="button-box">
  207. <el-button @click="cancel">取消</el-button>
  208. <el-button type="primary" :loading="isLoading" @click="makeSure">确定</el-button>
  209. </div>
  210. </div>
  211. </div>
  212. </template>
  213. <script>
  214. import PageTitle from "@/components/Page/Title";
  215. import { sjTime } from "@/utils/sharedJsFile";
  216. import {getCookie} from "@/utils/util.js";
  217. export default {
  218. components: { PageTitle },
  219. data() {
  220. return {
  221. isLoading:false,
  222. list: [],
  223. form1: {},
  224. tableData:[],
  225. selectionRow:[],
  226. input: "",
  227. value: undefined,
  228. //船名
  229. remark: null,
  230. //采购订单id
  231. purchaseOrderId: null,
  232. //物资名称
  233. materialName: null,
  234. //发货单位名称
  235. supplierName: null,
  236. //发货单位id
  237. supplierId: null,
  238. //物资id
  239. materialId: null,
  240. //是否需要打开模态窗口
  241. drawer: false,
  242. //卸货点id
  243. unloadPointId: null,
  244. //卸货点名称
  245. unloadPointName: null,
  246. //查询
  247. search1:null,
  248. search2:null,
  249. a: 1,
  250. direction: "rtl",
  251. inputText: "",
  252. sendStationId: 4,//发站id和到站id都写死了,并且赋了港口名,如果数据库id变化,要注意
  253. sendStation:"万州港",
  254. arrivalStationId:1,
  255. arrivalStations:[]
  256. };
  257. },
  258. mounted(){
  259. this.form1.resultLoadingDate=new Date();
  260. this.getArrivalStation();
  261. this.searchLoadTemp();
  262. },
  263. methods: {
  264. //发站弹出层
  265. handleSelectSendStation(item) {
  266. this.sendStationId = item.arrivalId;
  267. this.sendStation = item.arrivalName;
  268. },
  269. //以下是发站边输边查搜索
  270. querySearchSendStation(queryString, cb) {
  271. this.axios
  272. .get("/api/v1/uc/getArrivalByLike?index=" + this.sendStation)
  273. .then((res) => {
  274. if (res.data.code == "200") {
  275. var restaurantsSupplier = res.data.data;
  276. console.log(restaurantsSupplier)
  277. var results = queryString
  278. ? restaurantsSupplier.filter(
  279. this.createFilterSendStation(queryString)
  280. )
  281. : restaurantsSupplier;
  282. // 调用 callback 返回建议列表的数据
  283. cb(results);
  284. }
  285. });
  286. },
  287. //发站
  288. createFilterSendStation(queryString) {
  289. return (restaurantsSupplier) => {
  290. return (
  291. restaurantsSupplier.arrivalName
  292. .toLowerCase()
  293. .indexOf(queryString.toLowerCase()) > -1
  294. );
  295. };
  296. },
  297. //到站弹出层
  298. handleSelectToTheStation(item) {
  299. this.toTheStationId = item.arrivalId;
  300. this.toTheStation = item.arrivalName;
  301. },
  302. //以下是到站边输边查搜索
  303. querySearchToTheStation(queryString, cb) {
  304. this.axios
  305. .get("/api/v1/uc/getArrivalByLike?index=" + this.toTheStation)
  306. .then((res) => {
  307. if (res.data.code == "200") {
  308. var restaurantsSupplier = res.data.data;
  309. console.log(restaurantsSupplier)
  310. var results = queryString
  311. ? restaurantsSupplier.filter(
  312. this.createFilterToTheStation(queryString)
  313. )
  314. : restaurantsSupplier;
  315. // 调用 callback 返回建议列表的数据
  316. cb(results);
  317. }
  318. });
  319. },
  320. //到站
  321. createFilterToTheStation(queryString) {
  322. return (restaurantsSupplier) => {
  323. return (
  324. restaurantsSupplier.arrivalName
  325. .toLowerCase()
  326. .indexOf(queryString.toLowerCase()) > -1
  327. );
  328. };
  329. },
  330. // 确定
  331. makeSure() {
  332. this.isLoading=true;
  333. if (this.selectionRow.length <= 0 ||
  334. !this.sendStationId ||
  335. !this.arrivalStationId ||
  336. !this.form1.resultLoadingDate){
  337. if (this.selectionRow.length <= 0) {
  338. this.$message({
  339. type: "warning",
  340. message: "请选择车皮号!",
  341. });
  342. this.isLoading=false;
  343. return;
  344. }else{
  345. this.$message({
  346. type: "warning",
  347. message: "除备注外皆为必填!",
  348. });
  349. this.isLoading=false;
  350. return;
  351. }
  352. }
  353. let map = {
  354. wagonList:this.selectionRow,
  355. sendStationId: this.sendStationId,
  356. arrivalStationId: this.arrivalStationId,
  357. resultLoadingDate: sjTime(this.form1.resultLoadingDate),
  358. remarks: this.form1.resultRemarks,
  359. userId:getCookie("userId"),
  360. resultType:1,
  361. }
  362. console.log(map);
  363. this.axios.post('/api/v1/tms/addShipLoadResult',map).then((res)=>{
  364. console.log(res);
  365. if(res.data.code == "200"){
  366. this.$message({
  367. type: "success",
  368. message: "操作成功",
  369. });
  370. this.searchLoadTemp();
  371. }else {
  372. this.$message({
  373. type: "error",
  374. message: res.data.data,
  375. });
  376. }
  377. }).then(()=>{
  378. this.isLoading=false;
  379. });
  380. },
  381. // 取消
  382. cancel() {
  383. this.$router.go(-1);
  384. },
  385. // 导入excel
  386. importExcel(file) {
  387. let that=this;
  388. if (!file) {
  389. that.$message({
  390. message: "文件错误!",
  391. type: "warning",
  392. });
  393. return
  394. }
  395. let importData=[];
  396. var reader = new FileReader();
  397. var data=null;
  398. var workbook=null;
  399. //设置读取操作
  400. reader.onload = function (e) {
  401. console.log(e);
  402. data = e.target.result;
  403. workbook= XLSX.read(data, {
  404. type: 'binary'
  405. });
  406. console.log(workbook);
  407. let rows= XLSX.utils.sheet_to_json(workbook.Sheets[workbook.SheetNames[0]]);//只取第一页
  408. let index=1;
  409. for(index=1;index<rows.length;index++){
  410. if(typeof workbook.Sheets[workbook.SheetNames[0]]['A'+index] !='undefined'){
  411. index++;
  412. break;
  413. }
  414. }
  415. console.log('表头行数:'+index);
  416. if(index>=rows.length){
  417. that.$message({
  418. message: "文件错误!",
  419. type: "warning",
  420. });
  421. return
  422. }
  423. //校验表头
  424. if( workbook.Sheets[workbook.SheetNames[0]]['A'+index].v!='序号'
  425. || workbook.Sheets[workbook.SheetNames[0]]['B'+index].v!='发站'
  426. || workbook.Sheets[workbook.SheetNames[0]]['C'+index].v!='到站'
  427. || workbook.Sheets[workbook.SheetNames[0]]['D'+index].v!='发货日期'
  428. || workbook.Sheets[workbook.SheetNames[0]]['E'+index].v!='到货日期'
  429. || workbook.Sheets[workbook.SheetNames[0]]['F'+index].v!='卸货地点'
  430. || workbook.Sheets[workbook.SheetNames[0]]['G'+index].v!='品名'
  431. || (workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费\n吨位'
  432. && workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费吨位'
  433. && workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费&#10;吨位')
  434. || workbook.Sheets[workbook.SheetNames[0]]['J'+index].v!='车号'
  435. || workbook.Sheets[workbook.SheetNames[0]]['K'+index].v!='计量吨位'
  436. || workbook.Sheets[workbook.SheetNames[0]]['L'+index].v!='计费吨位合计'){
  437. if(workbook.Sheets[workbook.SheetNames[0]]['A'+index].v!='序号'){
  438. that.$message({
  439. message: "表格格式错误:序号错误",
  440. type: "warning",
  441. });
  442. }else if(workbook.Sheets[workbook.SheetNames[0]]['B'+index].v!='发站'){
  443. that.$message({
  444. message: "表格格式错误:发站错误",
  445. type: "warning",
  446. });
  447. }else if(workbook.Sheets[workbook.SheetNames[0]]['C'+index].v!='到站'){
  448. that.$message({
  449. message: "表格格式错误:到站错误",
  450. type: "warning",
  451. });
  452. }else if(workbook.Sheets[workbook.SheetNames[0]]['D'+index].v!='发货日期'){
  453. that.$message({
  454. message: "表格格式错误:发货日期错误",
  455. type: "warning",
  456. });
  457. }else if(workbook.Sheets[workbook.SheetNames[0]]['E'+index].v!='到货日期'){
  458. that.$message({
  459. message: "表格格式错误:到货日期错误",
  460. type: "warning",
  461. });
  462. }else if(workbook.Sheets[workbook.SheetNames[0]]['F'+index].v!='卸货地点'){
  463. that.$message({
  464. message: "表格格式错误:卸货地点错误",
  465. type: "warning",
  466. });
  467. }else if(workbook.Sheets[workbook.SheetNames[0]]['G'+index].v!='品名'){
  468. that.$message({
  469. message: "表格格式错误:品名错误",
  470. type: "warning",
  471. });
  472. }else if(workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费\n吨位'
  473. && workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费吨位'
  474. && workbook.Sheets[workbook.SheetNames[0]]['I'+index].v!='计费&#10;吨位'){
  475. that.$message({
  476. message: "表格格式错误:计费吨位错误",
  477. type: "warning",
  478. });
  479. }else if(workbook.Sheets[workbook.SheetNames[0]]['J'+index].v!='车号'){
  480. that.$message({
  481. message: "表格格式错误:车号错误",
  482. type: "warning",
  483. });
  484. }else if(workbook.Sheets[workbook.SheetNames[0]]['K'+index].v!='计量吨位'){
  485. that.$message({
  486. message: "表格格式错误:计量吨位错误",
  487. type: "warning",
  488. });
  489. }else if(workbook.Sheets[workbook.SheetNames[0]]['L'+index].v!='计费吨位合计'){
  490. that.$message({
  491. message: "表格格式错误:计费吨位合计错误",
  492. type: "warning",
  493. });
  494. }
  495. return;
  496. }
  497. //读取表格
  498. for(let i=1;i<=rows.length+1;i++){
  499. let row=workbook.Sheets[workbook.SheetNames[0]]['A'+i];
  500. if(row!='undefined' && row!=null && typeof row.v=='number'
  501. && workbook.Sheets[workbook.SheetNames[0]]['B'+i]!='undefined'
  502. && workbook.Sheets[workbook.SheetNames[0]]['B'+i]!=null
  503. && workbook.Sheets[workbook.SheetNames[0]]['C'+i]!='undefined'
  504. && workbook.Sheets[workbook.SheetNames[0]]['C'+i]!=null
  505. && workbook.Sheets[workbook.SheetNames[0]]['D'+i]!='undefined'
  506. && workbook.Sheets[workbook.SheetNames[0]]['D'+i]!=null
  507. && workbook.Sheets[workbook.SheetNames[0]]['E'+i]!='undefined'
  508. && workbook.Sheets[workbook.SheetNames[0]]['E'+i]!=null
  509. && workbook.Sheets[workbook.SheetNames[0]]['F'+i]!='undefined'
  510. && workbook.Sheets[workbook.SheetNames[0]]['F'+i]!=null
  511. && workbook.Sheets[workbook.SheetNames[0]]['G'+i]!='undefined'
  512. && workbook.Sheets[workbook.SheetNames[0]]['G'+i]!=null
  513. && workbook.Sheets[workbook.SheetNames[0]]['J'+i]!='undefined'
  514. && workbook.Sheets[workbook.SheetNames[0]]['J'+i]!=null){
  515. let tableRow={
  516. sendStation:workbook.Sheets[workbook.SheetNames[0]]['B'+i].v,
  517. arrivalStation:workbook.Sheets[workbook.SheetNames[0]]['C'+i].v,
  518. sendDate:sjTime(workbook.Sheets[workbook.SheetNames[0]]['D'+i].v),
  519. arrivalDate:workbook.Sheets[workbook.SheetNames[0]]['E'+i].v,
  520. unloadPoint:workbook.Sheets[workbook.SheetNames[0]]['F'+i].v,
  521. productName:workbook.Sheets[workbook.SheetNames[0]]['G'+i].v,
  522. wagonNo:workbook.Sheets[workbook.SheetNames[0]]['J'+i].v,
  523. weight:workbook.Sheets[workbook.SheetNames[0]]['I'+i].v,
  524. mineral:workbook.Sheets[workbook.SheetNames[0]]['H'+i].v,
  525. }
  526. if((tableRow.wagonNo+"").length!=7){
  527. that.$message({
  528. message: "存在车皮号长度不等于7:"+tableRow.wagonNo,
  529. type: "warning",
  530. });
  531. continue;
  532. }
  533. importData.push(tableRow);
  534. }
  535. }
  536. console.log("importData",importData);
  537. if(importData.length<=0){
  538. that.$message({
  539. message:"Excel没有可用数据",
  540. type:"warning"
  541. });
  542. return;
  543. }else if(that.tableData.length<=0){
  544. that.$message({
  545. message:"当前列表没有可用数据",
  546. type:"warning "
  547. })
  548. return;
  549. }
  550. //批量查询
  551. let tableData=[];
  552. importData.forEach((row)=>{
  553. let temp=that.tableData.find(item=>item.wagonNo==row.wagonNo
  554. && row.productName.includes(item.foreignShipName)
  555. && item.materialName.includes(row.mineral));
  556. if(temp)
  557. tableData.push(temp);
  558. });
  559. console.log("test",tableData);
  560. that.tableData=tableData;
  561. if(that.tableData.length<=0){
  562. that.$message({
  563. message: "查询不到相关车皮!",
  564. type: "warning",
  565. });
  566. }
  567. };
  568. reader.readAsBinaryString(file.raw); //以二进制方式读取
  569. },
  570. //采购订单表格选中
  571. orderChange(selection){
  572. console.log(selection);
  573. this.purchaseOrderId=selection.purchaseOrderId;
  574. this.form1 = {
  575. purchaseOrderNo: selection.purchaseOrderNo,
  576. resultLoadingDate:new Date()
  577. };
  578. this.materialId=selection.materialId;
  579. this.materialName=selection.materialName;
  580. this.supplierId=selection.supplierId;
  581. this.supplierName=selection.supplierName;
  582. },
  583. //查询临时表
  584. searchLoadTemp(){
  585. this.axios.post('/api/v1/tms/getResultType?apiId=58&resultType=1&con='+this.input).then((res)=>{
  586. console.log(res);
  587. if(res.data.code == "200"){
  588. this.tableData=res.data.data;
  589. }else {
  590. this.$message({
  591. type: "error",
  592. message: res.data.data,
  593. });
  594. }
  595. })
  596. },
  597. //查询到站
  598. getArrivalStation(){
  599. this.axios.get("/api/v1/uc/getArrivalByLike?index="+this.input).then((res)=>{
  600. if(res.data.code == "200"){
  601. this.arrivalStations=res.data.data;
  602. }else {
  603. this.$message({
  604. type: "error",
  605. message: res.data.data,
  606. });
  607. }
  608. console.log("到站列表:",this.arrivalStations);
  609. })
  610. },
  611. //点击行勾选
  612. rowClick(row, column, event) {
  613. let tempTable = this.$refs.tempTable; // 获取表格对象
  614. //判断是否已存在
  615. let findRow = this.selectionRow.find(item => item.wagonNo == row.wagonNo);
  616. if (findRow) {
  617. tempTable.toggleRowSelection(row, false);
  618. }else{
  619. tempTable.toggleRowSelection(row);
  620. }
  621. //赋值
  622. this.selectionRow=this.$refs.tempTable.selection;
  623. },
  624. handleSelectionChange(rows) {
  625. this.selectionRow = rows //保存已选择行
  626. console.log(this.selectionRow);
  627. },
  628. },
  629. };
  630. </script>
  631. <style lang='scss'>
  632. .addWagonLoad {
  633. color: #606266;
  634. font-size: 0.675rem;
  635. font-weight: 500;
  636. .cp {
  637. width: 49%;
  638. display: flex;
  639. justify-content: center;
  640. align-items: center;
  641. padding-top: 0.625rem;
  642. padding-bottom: 0.625rem;
  643. margin-left: 364px;
  644. .cp_title {
  645. .cp_top {
  646. width: 3.125rem;
  647. padding-right: 1.55rem;
  648. }
  649. }
  650. }
  651. .cpList {
  652. display: flex;
  653. justify-content: center;
  654. width: 100%;
  655. height: 10rem;
  656. .list {
  657. width: 45%;
  658. border: #000 0.0625rem solid;
  659. padding: 0.625rem;
  660. display: flex;
  661. flex-wrap: wrap;
  662. .cpList1 {
  663. background-color: #c9c7c7;
  664. height: 1.875rem;
  665. margin-right: 0.5rem;
  666. padding: 0.625rem;
  667. display: flex;
  668. align-items: center;
  669. justify-content: center;
  670. position: relative;
  671. .itu {
  672. position: absolute;
  673. top: -0.125rem;
  674. right: 0.0625rem;
  675. width: 0.625rem;
  676. height: 0.625rem;
  677. }
  678. }
  679. }
  680. }
  681. .matching {
  682. width: 100%;
  683. height: 3.125rem;
  684. display: flex;
  685. justify-content: center;
  686. align-items: center;
  687. .text {
  688. width: 8.75rem;
  689. }
  690. .span {
  691. display: inline-block;
  692. width: 310px;
  693. height: 0.0625rem;
  694. }
  695. }
  696. .material {
  697. display: flex;
  698. justify-content: center;
  699. align-items: center;
  700. height: 3.75rem;
  701. margin-left: 27rem;
  702. width: 20rem;
  703. .text {
  704. text-align: right;
  705. width: 8.125rem;
  706. }
  707. }
  708. .forwardingUnit {
  709. display: flex;
  710. justify-content: center;
  711. align-items: center;
  712. height: 3.75rem;
  713. margin-left: 27rem;
  714. width: 20rem;
  715. .text {
  716. text-align: right;
  717. width: 8.125rem;
  718. }
  719. }
  720. .remark {
  721. display: flex;
  722. justify-content: center;
  723. align-items: center;
  724. height: 3.75rem;
  725. .text {
  726. text-align: right;
  727. width: 5.625rem;
  728. }
  729. .span {
  730. display: inline-block;
  731. width: 1.875rem;
  732. height: 1.25rem;
  733. }
  734. .el-input{
  735. width: 13.5rem;
  736. margin-right: 2.375rem;
  737. }
  738. }
  739. .purchaseOrder {
  740. display: flex;
  741. justify-content: center;
  742. align-items: center;
  743. .span {
  744. display: inline-block;
  745. width: 1.875rem;
  746. height: 0.0625rem;
  747. }
  748. }
  749. .form {
  750. display: flex;
  751. .form_box {
  752. width: 340px;
  753. margin-left: 30px;
  754. margin-right: 20px;
  755. .el-form {
  756. .preview-group {
  757. .el-form-item {
  758. .el-form-item__label {
  759. display: inline-block;
  760. width: 70px !important;
  761. }
  762. .el-form-item__content {
  763. .el-select {
  764. width: 250px;
  765. }
  766. .el-input {
  767. width: 250px;
  768. }
  769. .el-textarea{
  770. .el-textarea__inner{
  771. width: 225px;
  772. margin-top: 0.03rem;
  773. }
  774. }
  775. }
  776. }
  777. }
  778. }
  779. }
  780. }
  781. .button-box {
  782. display: flex;
  783. justify-content: center;
  784. padding-top: 10px;
  785. }
  786. .formOther .el-input__inner{
  787. width: 250px;
  788. }
  789. }
  790. </style>