salesPriceConfirmationSheet.vue 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  1. <!--期货销售点价确认单-->
  2. <template>
  3. <div class="container">
  4. <el-row>
  5. <el-col :span="12">
  6. <h2 class="bg-left title">点价确认单</h2>
  7. </el-col>
  8. <el-col :span="12" class="bg-right">
  9. <el-button
  10. class="bg-bottom"
  11. type="primary"
  12. size="small"
  13. @click="returnsales()"
  14. ><img
  15. width="6"
  16. height="10"
  17. style="vertion-align: bottom; margin-right: 3px"
  18. src="../../../public/img/lujing.png"
  19. alt=""
  20. />返回</el-button
  21. >
  22. </el-col>
  23. </el-row>
  24. <div class="wenzi">
  25. <h3>所属合同</h3>
  26. <p>
  27. &nbsp;&nbsp;销售合同(
  28. <template>{{ this.deptBudgetList.contractNo }}</template>
  29. )
  30. </p>
  31. <div class="tianjiaanniu">
  32. <ws-button
  33. type="primary"
  34. @click="sheetAdd()"
  35. v-hasPermission="
  36. `contractManagement.salesContract.salesContractInfo.add`
  37. "
  38. ><img
  39. width="13"
  40. height="13"
  41. style="
  42. vertical-align: text-top;
  43. position: relative;
  44. top: 2px;
  45. left: -4px;
  46. "
  47. src="../../../public/img/header-add.png"
  48. alt=""
  49. />添加</ws-button
  50. >
  51. </div>
  52. </div>
  53. <div class="dianjiadanbianhao">
  54. <h3>点价单编号</h3>
  55. <p>
  56. <template>CG20210329-02{{ this.deptBudgetList.priceListNo }}</template>
  57. </p>
  58. <div class="fujian">
  59. <template slot-scope="scope" >
  60. <img
  61. width="18"
  62. height="20"
  63. style="vertical-align: text-top; position: relative; top: -1px"
  64. src="../../../public/img/fujian.png"
  65. @click="fujian(scope.row)"
  66. alt=""
  67. />
  68. <span v-if="(scope.row.enclosureTypeFlag = '0')"
  69. >&nbsp;&nbsp;&nbsp;未上传</span
  70. >
  71. <span v-if="(scope.row.enclosureTypeFlag = '1')"
  72. >&nbsp;&nbsp;&nbsp;已上传</span
  73. >
  74. </template>
  75. </div>
  76. <div class="caozuoanniu">
  77. <el-button class="find" type="primary" @click="sheetEdit()"
  78. >编辑</el-button
  79. >
  80. <el-button class="find" type="primary" @click="sheetDelete()"
  81. >删除</el-button
  82. >
  83. </div>
  84. </div>
  85. <div class="center">
  86. <ws-form ref="deptBudgetList" :model="deptBudgetList">
  87. <!--基本信息-->
  88. <ws-info-table>
  89. <ws-form-item
  90. label="品种合约及方向"
  91. span="1"
  92. prop="varietyContractDirection"
  93. >
  94. <div class="unchanged">
  95. {{ deptBudgetList.varietyContractDirection }}
  96. </div>
  97. </ws-form-item>
  98. <ws-form-item label="买方联络人" span="1" prop="buyer">
  99. <div class="unchanged">
  100. {{ deptBudgetList.buyer }}
  101. </div>
  102. </ws-form-item>
  103. <ws-form-item label="成交数量" span="1" prop="transactionsNumberHand">
  104. <div class="unchanged">
  105. {{
  106. deptBudgetList.transactionsNumberHand
  107. }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手
  108. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  109. 即&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{
  110. deptBudgetList.transactionsNumber
  111. }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;吨
  112. </div>
  113. </ws-form-item>
  114. <ws-form-item label="买方联络人电话" span="1" prop="buyerPhone">
  115. <div class="unchanged">
  116. {{ deptBudgetList.buyerPhone }}
  117. </div>
  118. </ws-form-item>
  119. <ws-form-item
  120. label="成交价格(元/吨)"
  121. span="1"
  122. prop="transactionPrice"
  123. >
  124. <div class="unchanged">
  125. {{ deptBudgetList.transactionPrice }}
  126. </div>
  127. </ws-form-item>
  128. <ws-form-item label="卖方联络人" span="1" prop="seller">
  129. <div class="unchanged">
  130. {{ deptBudgetList.seller }}
  131. </div>
  132. </ws-form-item>
  133. <ws-form-item label="成交日期" span="1" prop="transactionDate">
  134. <div class="unchanged">
  135. {{ deptBudgetList.transactionDate }}
  136. </div>
  137. </ws-form-item>
  138. <ws-form-item label="卖方联络人电话" span="1" prop="sellerPhone">
  139. <div class="unchanged">
  140. {{ deptBudgetList.sellerPhone }}
  141. </div>
  142. </ws-form-item>
  143. <ws-form-item label="备注" span="1" prop="remarks">
  144. <div class="unchanged">
  145. {{ deptBudgetList.remarks }}
  146. </div>
  147. </ws-form-item>
  148. </ws-info-table>
  149. </ws-form>
  150. </div>
  151. </div>
  152. </template>
  153. <script>
  154. import { xiala, addxiala, editxiala, delxiala } from '@/model/contarct/index'
  155. import WsUpload from '@/components/WsUpload'
  156. import { EventBus } from 'base-core-lib'
  157. import { regionData, } from 'element-china-area-data'
  158. export default {
  159. name: 'viewSpareMoney',
  160. components: {
  161. WsUpload,
  162. },
  163. watch: {
  164. vesselId(val) {
  165. this.getVesselData()
  166. },
  167. isShow(val) {
  168. this.showType = val
  169. },
  170. },
  171. data() {
  172. return {
  173. //弹出框
  174. dialogViewSpareMoney: false,
  175. dialogApproveFormVisible: false,
  176. // 船舶类型
  177. monetaryKey: null,
  178. // 表格显示数据
  179. tableDate: [],
  180. // 是否显示
  181. showType: true,
  182. // 年
  183. year: '',
  184. options_: regionData,
  185. selectedOptions: [],
  186. selectedOptions1: [],
  187. // 提交类型
  188. submitType: true,
  189. tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
  190. trainingMethods: {},
  191. packtypeList: [],
  192. compId: sessionStorage.getItem('ws-pf_compId'),
  193. contractNo: '',
  194. mainReportAdd: {},
  195. appendixIdsAdd: '',
  196. size: 10,
  197. unitList: [],
  198. goodnameList: [],
  199. gradeList: [],
  200. ChapterTwoList: [],
  201. addressUrls: [],
  202. addressUrl: '',
  203. deptBudgetList: {},
  204. pickerBeginDateBefore: {
  205. disabledDate: (time) => {
  206. return time.getTime() > Date.now()
  207. },
  208. },
  209. ruleDeptBudget: {
  210. contractNo: [
  211. { required: true, message: '请输入活动名称', trigger: 'blur' },
  212. {
  213. min: 6,
  214. max: 20,
  215. message: '长度在 6 到 20 个字符',
  216. trigger: 'blur',
  217. },
  218. ],
  219. },
  220. selectIntendedShip: {},
  221. interviewTypeList: {},
  222. fileList: [],
  223. }
  224. },
  225. methods: {
  226. close(index) {
  227. this.addressUrls.splice(index, 1)
  228. },
  229. // 关闭 dialog时 处理文件url 初始化upload组件
  230. handleClose() {
  231. this.dialogViewSpareMoney = false
  232. },
  233. handleChange(value) {
  234. this.selectedOptions = value
  235. },
  236. handleChange1(value) {
  237. this.selectedOptions1 = value
  238. },
  239. returnsales() {
  240. this.$router.push({ path: 'futuresSalesContract' })
  241. },
  242. //创建点价确认单
  243. sheetAdd() {
  244. this.$router.push({ path: 'salesPriceConfirmationSheetAdd' })
  245. },
  246. // 编辑点价确认单
  247. sheetEdit() {
  248. this.$router.push({ path: 'salesPriceConfirmationSheetEdit' })
  249. },
  250. // 删除点价确认单
  251. sheetDelete(item, index) {
  252. // this.$confirm(`确认单删除后不可恢复,是否确定删除?`, '提示', {
  253. // confirmButtonText: '确定',
  254. // cancelButtonText: '取消',
  255. // type: 'warning',
  256. // })
  257. // .then(() => {
  258. // delDriver({ id: row.id })
  259. // .toPromise()
  260. // .then((response) => {
  261. // this.$notify.success({
  262. // title: '成功',
  263. // message: '删除成功',
  264. // })
  265. // this.getUnitList()
  266. // this.pleaseChoose = ''
  267. // })
  268. // .catch((response) => {
  269. // console.log(response)
  270. // EventBus.$emit('error', response.message)
  271. // })
  272. // })
  273. // .catch(() => {
  274. // return false
  275. // })
  276. // if (Object.is(item.constKey, 1)) {
  277. // return
  278. // }
  279. // if (!item.constValue) {
  280. // this.unitList.splice(index, 1)
  281. // return
  282. // }
  283. // delxiala({ id: this.unitList[index].id })
  284. },
  285. fujian(row) {
  286. if (row.addressUrl === null || row.addressUrl === '') {
  287. EventBus.$emit(
  288. 'warning',
  289. this.$t('system.noticeCircular.NoInformation')
  290. )
  291. } else {
  292. this.accessoryTFs = true
  293. }
  294. this.appendixIdss = row.addressUrl.split(',')
  295. },
  296. getUnitList() {
  297. xiala({
  298. compId: sessionStorage.getItem('ws-pf_compId'),
  299. constCode: 'TYPEYAN',
  300. })
  301. .toPromise()
  302. .then((response) => {
  303. this.unitList = response
  304. let currItem
  305. this.unitList.forEach((item, index, arr) => {
  306. item.flag = 'delete'
  307. if (this.vModel == item.constKey) {
  308. currItem = item
  309. }
  310. })
  311. //
  312. if (currItem) {
  313. this.selectContract(currItem.constValue)
  314. }
  315. })
  316. },
  317. resetForm(deptBudgetList) {
  318. this.$refs[deptBudgetList].resetFields()
  319. },
  320. },
  321. }
  322. </script>
  323. <style lang="scss" scoped>
  324. /deep/.ws-info-table .el-form-item .el-form-item__content {
  325. padding: 0 25px;
  326. }
  327. /deep/.ws-info-table .el-form-item {
  328. border-right: 1px solid #cdd2dc;
  329. border-bottom: 1px solid #cdd2dc;
  330. }
  331. .title {
  332. position: relative;
  333. }
  334. .title::before {
  335. content: '';
  336. display: inline-block;
  337. width: 5px;
  338. height: 30px;
  339. background: #5473e8;
  340. position: absolute;
  341. left: 0;
  342. }
  343. .el-button--primary {
  344. background-color: #5878e8;
  345. border-color: #5878e8;
  346. }
  347. .el-col {
  348. background: #f6f7fc;
  349. }
  350. .readonly {
  351. position: relative;
  352. }
  353. .readonly:after {
  354. content: '*';
  355. color: #ff2727;
  356. position: absolute;
  357. right: 8px;
  358. z-index: 10;
  359. top: 21%;
  360. font-size: 20px;
  361. }
  362. /deep/.ws-info-table .el-form-item .el-form-item__content {
  363. padding: 0 25px;
  364. border-left: 1px solid #cdd2dc;
  365. background: #fafbfc;
  366. }
  367. /deep/.ws-info-table .el-form-item .el-form-item__label {
  368. width: 140px;
  369. text-align: center;
  370. background: #f0f2f6;
  371. // border: 1px solid #cdd2dc;
  372. }
  373. .button-container {
  374. display: flex;
  375. flex-wrap: nowrap;
  376. justify-content: space-between;
  377. align-items: center;
  378. background-color: #fff;
  379. width: 100%;
  380. height: 50px;
  381. padding: 0 10px;
  382. & > div {
  383. margin-left: 10px;
  384. display: flex;
  385. flex-wrap: nowrap;
  386. flex-direction: row;
  387. & > span {
  388. line-height: 50px;
  389. }
  390. }
  391. /deep/.auditFlow-box {
  392. position: unset;
  393. margin-left: 10px;
  394. &/deep/.auditFlow-icon {
  395. width: auto;
  396. padding-right: 30px;
  397. }
  398. &/deep/.auditFlow-main {
  399. position: absolute;
  400. }
  401. }
  402. }
  403. .box-app {
  404. display: inline-block;
  405. float: left;
  406. margin-left: 30px;
  407. line-height: 50px;
  408. }
  409. /deep/.el-dialog {
  410. .el-form-item {
  411. margin-bottom: 0 !important;
  412. .el-input--medium {
  413. textarea {
  414. min-height: 100px !important;
  415. }
  416. }
  417. }
  418. }
  419. .collapse-bottom {
  420. margin-bottom: 20px;
  421. }
  422. .input-main .textarea .el-textarea__inner {
  423. width: 100%;
  424. z-index: 1;
  425. }
  426. .bg-left {
  427. padding-left: 30px;
  428. }
  429. .bg-right {
  430. padding-right: 10px;
  431. text-align: right;
  432. }
  433. .bg-bottom {
  434. margin: 16px 0px;
  435. }
  436. .caozuoanniu {
  437. margin-left: 83%;
  438. margin-top: -49px;
  439. margin-bottom: 20px;
  440. }
  441. .fujian {
  442. margin-left: 20px;
  443. }
  444. .wenzi {
  445. width: 68%;
  446. margin: 0 auto;
  447. margin-top: 15px;
  448. }
  449. .wenzi h3 {
  450. display: inline-block;
  451. left: 10px;
  452. }
  453. .wenzi p {
  454. display: inline-block;
  455. margin-left: 16px;
  456. }
  457. .dianjiadanbianhao {
  458. width: 70%;
  459. margin: 0 auto;
  460. margin-top: 45px;
  461. }
  462. .dianjiadanbianhao h3 {
  463. display: inline-block;
  464. left: 10px;
  465. font-size: inherit;
  466. margin-bottom: 24px;
  467. }
  468. .dianjiadanbianhao p {
  469. display: inline-block;
  470. margin-left: 20px;
  471. }
  472. .center {
  473. width: 70%;
  474. margin: 0 auto;
  475. }
  476. .el-form-item {
  477. width: 50%;
  478. }
  479. .el-form-item__label {
  480. text-align: center;
  481. }
  482. .ce {
  483. width: 70%;
  484. margin: 0 auto;
  485. }
  486. /*.crt-main .textarea /deep/ .el-form-item__label {*/
  487. /* height: 82px;*/
  488. /*}*/
  489. // 控制select为只读的时候显示样式
  490. .hide-sel {
  491. .el-input__inner {
  492. border: 0px;
  493. }
  494. .el-icon-arrow-up {
  495. display: none;
  496. }
  497. .el-textarea__inner {
  498. background-color: #fff !important;
  499. border: 0;
  500. }
  501. .el-date-editor {
  502. i {
  503. display: none;
  504. }
  505. }
  506. .is-disabled {
  507. .el-input__inner:hover {
  508. background-color: #fff !important;
  509. border: 0;
  510. }
  511. color: #606266;
  512. .el-input__inner {
  513. background-color: #fff !important;
  514. border: 0;
  515. color: #606266;
  516. }
  517. .el-textarea__inner {
  518. background-color: #fff !important;
  519. border: 0;
  520. color: #606266;
  521. }
  522. }
  523. }
  524. /deep/.ws-info-table .el-form-item .el-form-item__label {
  525. width: 148px;
  526. }
  527. /deep/.el-date-editor {
  528. font-size: 13px;
  529. }
  530. /deep/.el-textarea {
  531. width: 101%;
  532. margin: 0px;
  533. }
  534. /deep/el-date-editor--date {
  535. width: 200px;
  536. }
  537. .unchanged {
  538. position: absolute;
  539. left: 37px;
  540. width: 102px;
  541. height: 14px;
  542. font-size: 14px;
  543. font-family: PingFangSC-Regular, PingFang SC;
  544. font-weight: 400;
  545. color: #afb5cb;
  546. line-height: 14px;
  547. }
  548. .tianjiaanniu {
  549. margin-left: 92%;
  550. margin-top: -43px;
  551. }
  552. /deep/.el-input--small .el-input__inner {
  553. height: 32px;
  554. line-height: 32px;
  555. }
  556. // 控制select为只读的时候显示样式
  557. /deep/.ws-class-table-col {
  558. height: auto;
  559. padding: 0px 2px;
  560. /deep/.el-input__inner {
  561. padding: 0px 2px;
  562. }
  563. }
  564. /deep/.is-disabled {
  565. .el-input__prefix,
  566. .el-input__suffix {
  567. display: none;
  568. }
  569. .el-input__inner {
  570. background-color: #fff;
  571. border-color: #fff !important;
  572. color: #000 !important;
  573. font-size: 14px;
  574. cursor: text;
  575. padding: 0 !important;
  576. }
  577. }
  578. .winseaview-view {
  579. padding: 0 0 20px;
  580. }
  581. .container {
  582. overflow: scroll;
  583. height: 93vh;
  584. }
  585. .addressUrls {
  586. width: 100%;
  587. display: flex;
  588. margin-top: 10px;
  589. }
  590. .addressUrls-item {
  591. position: relative;
  592. display: flex;
  593. }
  594. .icon-guanbi {
  595. position: absolute;
  596. right: 8px;
  597. }
  598. .addressUrl {
  599. margin: 0px 10px;
  600. border-radius: 3px;
  601. }
  602. //上传文件成功标识
  603. /deep/.el-upload-list__item-status-label {
  604. position: absolute;
  605. right: 22px;
  606. top: -1px;
  607. line-height: inherit;
  608. display: none;
  609. }
  610. </style>