index.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. <template>
  2. <div class="documentation">
  3. <div class="list_event">
  4. <a @click="addEvent">新增</a>
  5. <a @click="editEvent">编辑</a>
  6. <a @click="deleteClick">删除</a>
  7. <a @click="lookEvent">查看</a>
  8. <a @click="cancellationClick">作废</a>
  9. <a @click="importClick">导入</a>
  10. <a>导出 <i class="el-icon-arrow-down"></i>
  11. <ul class="list-unstyled">
  12. <li @click="exportEntrust">委托报关单</li>
  13. <li>海关增值税发票</li>
  14. <li>晶琳发票</li>
  15. <li>合同(贸易)</li>
  16. <li>INVOICE</li>
  17. <li>PACKINGLIST</li>
  18. </ul>
  19. </a>
  20. <a @click="copyEvent">复制</a>
  21. <a>打印 <i class="el-icon-arrow-down"></i></a>
  22. <a @click="materialImportClick">供应商资料导入</a>
  23. <a @click="guanwurenzhen">关务部认证</a>
  24. </div>
  25. <div class="headline">
  26. <span>单证管理</span>
  27. <div class="search_time">
  28. <el-date-picker
  29. v-model="dataTime"
  30. type="daterange"
  31. unlink-panels
  32. start-placeholder="开始日期"
  33. end-placeholder="结束日期"
  34. value-format="timestamp"
  35. format="yyyy 年 MM 月 dd 日"
  36. :picker-options="pickerOptions">
  37. </el-date-picker>
  38. <el-input placeholder="输入委托公司搜索" v-model="searchKey" type="search" >
  39. <template slot="append" @click="searchClick"><span @click="searchClick">搜索</span></template>
  40. </el-input>
  41. </div>
  42. </div>
  43. <wtable :data="data"
  44. :thead="thead"
  45. @clickEvent="clickEvent"
  46. classChickbox="blur_checkbox"
  47. @dblClickEvent="lookEventDbl"
  48. @multiple="multipleEvent"
  49. isEdit="true"/>
  50. <page :current="pageParams.page"
  51. :total="sheetList.totalElements"
  52. :pageSize="pageParams.count"
  53. @childEvent="pageEvent"/>
  54. <el-dialog
  55. title="提示"
  56. :visible.sync="isDialog"
  57. :modal="!isDialog"
  58. @close="closebom()"
  59. width="404px">
  60. <div class="dialog_info">
  61. <template v-if="dialogInfo === '导入'">
  62. <div class="step">
  63. <p>
  64. <span class="serial">1</span>下载<span class="link_color">委托报关单模板</span>:<a @click="downBom"></a>
  65. </p>
  66. </div>
  67. <div class="step">
  68. <p>
  69. <span class="serial">2</span>导入如下单据:
  70. </p>
  71. <div class="files">
  72. <upload accept=".xls"
  73. title="委托报关单"
  74. required="true"
  75. placeholder="请上传委托报关单"
  76. ref="sheetUpload"
  77. @closeEvent="(e) => closeFile(e, 'sheet')"
  78. @uploadEvent="(e) => {return upload(e, 'sheet')}"/>
  79. <upload title="供应商合同"
  80. placeholder="请上传供应商合同"
  81. ref="contactUpload"
  82. @closeEvent="(e) => closeFile(e, 'contact')"
  83. @uploadEvent="(e) => upload(e, 'contact')"/>
  84. <upload title="供应商发票"
  85. placeholder="请上传供应商发票"
  86. ref="billUpload"
  87. @closeEvent="(e) => closeFile(e, 'bill')"
  88. @uploadEvent="(e) => upload(e, 'bill')"/>
  89. <upload title="供应商箱单"
  90. placeholder="请上传供应商箱单"
  91. ref="packagelistUpload"
  92. @closeEvent="(e) => closeFile(e, 'packagelist')"
  93. @uploadEvent="(e) => upload(e, 'packagelist')"/>
  94. </div>
  95. </div>
  96. </template>
  97. <template v-if="dialogInfo === '供应商导入'">
  98. <div class="step">
  99. <p>
  100. <span class="serial">1</span>导入如下单据:
  101. </p>
  102. <div class="files">
  103. <upload title="供应商合同"
  104. placeholder="请上传供应商合同"
  105. ref="contactUpload"
  106. @closeEvent="(e) => closeFile(e, 'contact')"
  107. @uploadEvent="(e) => upload(e, 'contact')"/>
  108. <upload title="供应商发票"
  109. placeholder="请上传供应商发票"
  110. ref="billUpload"
  111. @closeEvent="(e) => closeFile(e, 'bill')"
  112. @uploadEvent="(e) => upload(e, 'bill')"/>
  113. <upload title="供应商箱单"
  114. placeholder="请上传供应商箱单"
  115. ref="packagelistUpload"
  116. @closeEvent="(e) => closeFile(e, 'packagelist')"
  117. @uploadEvent="(e) => upload(e, 'packagelist')"/>
  118. </div>
  119. </div>
  120. </template>
  121. </div>
  122. <span slot="footer" class="dialog-footer">
  123. <el-button type="blur" @click="saveEvent()">保 存</el-button>
  124. <el-button @click="closebom()">取 消</el-button>
  125. </span>
  126. </el-dialog>
  127. <el-dialog
  128. title="提示"
  129. :visible.sync="isDialogTitle"
  130. :modal="!isDialogTitle"
  131. @close="closeTitle()"
  132. width="300px">
  133. <div class="dialog_info">
  134. 您确认要{{dialogInfo}}此委托单吗?
  135. </div>
  136. <span slot="footer" class="dialog-footer">
  137. <el-button type="blur" @click="enterInfo()">确 定</el-button>
  138. <el-button @click="closeTitle()">取 消</el-button>
  139. </span>
  140. </el-dialog>
  141. </div>
  142. </template>
  143. <script>
  144. import {formatDate} from "@/utils/date"
  145. import {WtableClass} from '@/utils/CtableClass'
  146. import {Page, Upload} from '@/components/common'
  147. import {Wtable} from "@/components/base/table"
  148. import { DocumentsMode } from '@/utils/mixin'
  149. export default {
  150. name: 'DocumentationView',
  151. fetch({store}) {
  152. return Promise.all([
  153. store.dispatch('loadSeverSheetInfo', {count: 10, page: 1})
  154. ])
  155. },
  156. components: {
  157. Page,
  158. Upload,
  159. Wtable
  160. },
  161. mixins: [DocumentsMode],
  162. methods: {
  163. guanwurenzhen() {
  164. let id = []
  165. if (this.selectedArr.length === 0) {
  166. this.$message.error('请勾选需要进行验证的行数')
  167. return false;
  168. }
  169. for (let i = 0; i < this.selectedArr.length; i++) {
  170. id.push(this.selectedArr[i].id)
  171. }
  172. id = id.join('-')
  173. this.$http.get(`/CommissionSheet/customerhouseValid/ids?ids=${id}`).then(res => {
  174. if (res.data.success === false) {
  175. this.$message.error(res.data.message)
  176. } else {
  177. this.$router.push(`/severPage/trustee?id=${id}`)
  178. }
  179. }, err => {
  180. this.$message.error(err.response.data)
  181. })
  182. }
  183. }
  184. }
  185. </script>