You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

745 lines
24 KiB

6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
4 weeks ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 weeks ago
6 months ago
  1. <template>
  2. <div class="customer-css" >
  3. <!-- 查询时间和产品 -->
  4. <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;" >
  5. <el-row>
  6. <el-col :span="24" style="">
  7. <el-form-item :label="'请求日期'" >
  8. <el-date-picker
  9. style="width: 130px"
  10. v-model="searchData.startDate"
  11. type="date"
  12. format="yyyy-MM-dd"
  13. value-format="yyyy-MM-dd"
  14. placeholder="开始">
  15. </el-date-picker>
  16. </el-form-item>
  17. <el-form-item :label="'至'" >
  18. <el-date-picker
  19. style="width: 130px"
  20. v-model="searchData.endDate"
  21. type="date"
  22. format="yyyy-MM-dd"
  23. value-format="yyyy-MM-dd"
  24. placeholder="结束">
  25. </el-date-picker>
  26. </el-form-item>
  27. <!-- <el-form-item :label="'Status:'">-->
  28. <!-- <el-select v-model="searchData.status" style="width: 130px">-->
  29. <!-- <el-option label="All" value=""></el-option>-->
  30. <!-- <el-option label="待审批" value="待审批"></el-option>-->
  31. <!-- <el-option label="审批通过" value="审批通过"></el-option>-->
  32. <!-- <el-option label="已拒绝" value="已拒绝"></el-option>-->
  33. <!-- </el-select>-->
  34. <!-- </el-form-item>-->
  35. <el-form-item >
  36. <span style="cursor: pointer" slot="label" @click="getBaseList(501,1)"><a href="#">供应商编码</a></span>
  37. <el-input v-model="searchData.supplierNo" style="width: 130px"></el-input>
  38. </el-form-item>
  39. <el-form-item :label="'供应商名称:'">
  40. <el-input v-model="searchData.supplierName" style="width: 130px"></el-input>
  41. </el-form-item>
  42. <el-form-item :label="'请求人:'">
  43. <el-input v-model="searchData.requestBy" style="width: 130px"></el-input>
  44. </el-form-item>
  45. <el-form-item :label="'请求编号:'">
  46. <el-input v-model="searchData.requestNo" style="width: 130px"></el-input>
  47. </el-form-item>
  48. <el-form-item :label="' '" >
  49. <el-button class="customer-bun-min" type="primary" @click="getMainData" style="">查询</el-button>
  50. <!-- <el-button class="customer-bun-min" type="primary" @click="requestModel" style="">New Request</el-button>-->
  51. <el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button>
  52. </el-form-item>
  53. </el-col>
  54. </el-row>
  55. </el-form>
  56. <el-table
  57. :height="height"
  58. :data="mainDataList"
  59. border
  60. ref="mainTable"
  61. highlight-current-row
  62. v-loading="dataListLoading"
  63. style="margin-top: 0px; width: 100%;">
  64. <el-table-column
  65. fixed="right"
  66. header-align="center"
  67. align="center"
  68. width="220"
  69. :label="'操作'">
  70. <template slot-scope="scope">
  71. <a type="text" size="small" @click="requestModel(scope.row)">审批</a>
  72. </template>
  73. </el-table-column>
  74. <el-table-column
  75. v-for="(item,index) in columnList1" :key="index"
  76. :sortable="item.columnSortable"
  77. :prop="item.columnProp"
  78. :header-align="item.headerAlign"
  79. :show-overflow-tooltip="item.showOverflowTooltip"
  80. :align="item.align"
  81. :fixed="item.fixed==''?false:item.fixed"
  82. :min-width="item.columnWidth"
  83. :label="item.columnLabel">
  84. <template slot-scope="scope">
  85. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  86. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  87. style="width: 100px; height: 80px"/></span>
  88. </template>
  89. </el-table-column>
  90. </el-table>
  91. <!-- 分页插件 -->
  92. <el-pagination style="margin-top: 0px"
  93. @size-change="sizeChangeHandle"
  94. @current-change="currentChangeHandle"
  95. :current-page="pageIndex"
  96. :page-sizes="[20, 50, 100, 200, 500]"
  97. :page-size="pageSize"
  98. :total="totalPage"
  99. layout="total, sizes, prev, pager, next, jumper">
  100. </el-pagination>
  101. <el-dialog title="审批申请" :close-on-click-modal="false" v-drag :visible.sync="requestModelFlag" width="600px">
  102. <el-form label-position="top" style="margin-top: -5px;">
  103. <el-row :gutter="20">
  104. <el-col :span="6">
  105. <el-form-item label="供应商编码">
  106. <el-input v-model="requestModelData.supplierNo" disabled style="width: 130px" ></el-input>
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="6">
  110. <el-form-item :label="'供应商名称'" >
  111. <el-input v-model="requestModelData.supplierName" disabled style="width: 130px"></el-input>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="6">
  115. <el-form-item :label="'请求日期'" >
  116. <el-date-picker
  117. style="width: 130px"
  118. v-model="requestModelData.requestDate"
  119. type="date"
  120. disabled
  121. format="yyyy-MM-dd"
  122. value-format="yyyy-MM-dd"
  123. placeholder="选择日期">
  124. </el-date-picker>
  125. </el-form-item>
  126. </el-col>
  127. <el-col :span="6">
  128. <el-form-item :label="'新供应商等级'" >
  129. <el-select v-model="requestModelData.newSupplierGroup" disabled style="width: 130px">
  130. <el-option label="战略" value="战略"></el-option>
  131. <el-option label="重要" value="重要"></el-option>
  132. <el-option label="普通" value="普通"></el-option>
  133. </el-select>
  134. </el-form-item>
  135. </el-col>
  136. <el-col :span="24">
  137. <el-form-item :label="'原因'" >
  138. <el-input v-model="requestModelData.reason" disabled ></el-input>
  139. </el-form-item>
  140. </el-col>
  141. <!-- <el-col :span="4">-->
  142. <!-- <el-button class="customer-bun-min" type="primary" @click="handleUpload" style="">Upload</el-button>-->
  143. <!-- </el-col>-->
  144. </el-row>
  145. </el-form>
  146. <el-table
  147. :height="240"
  148. :data="fileList"
  149. ref="fileTableRef"
  150. style="width: 100%;" >
  151. <el-table-column
  152. prop="fileName"
  153. header-align="center"
  154. align="left"
  155. min-width="200"
  156. label="文件名">
  157. </el-table-column>
  158. <el-table-column
  159. prop="createdBy"
  160. header-align="center"
  161. align="center"
  162. min-width="100"
  163. label="上传人">
  164. </el-table-column>
  165. <el-table-column
  166. prop="createDate"
  167. header-align="center"
  168. align="center"
  169. min-width="100"
  170. label="上传时间">
  171. </el-table-column>
  172. <el-table-column
  173. header-align="center"
  174. align="center"
  175. width="100"
  176. fixed="right"
  177. label="操作">
  178. <template slot-scope="scope">
  179. <a type="text" size="small" @click="handleDownload(scope.row)">查看 </a>
  180. <!-- <a type="text" size="small" @click="deleteFile(scope.$index)">| delete</a>-->
  181. </template>
  182. </el-table-column>
  183. </el-table>
  184. <el-radio v-model="radio" label="审批通过">审批</el-radio>
  185. <el-radio v-model="radio" label="已拒绝">拒绝</el-radio>
  186. <el-footer style="height:40px;margin-top: -20px;text-align:center">
  187. <el-button type="primary" @click="submitData()">提交</el-button>
  188. <el-button type="primary" @click="requestModelFlag=false">取消并关闭</el-button>
  189. </el-footer>
  190. </el-dialog>
  191. <el-dialog title="上传" :visible.sync="ossVisible" v-drag width="400px" append-to-body :close-on-click-modal="false">
  192. <el-form ref="form" class="rq" label-width="80px" label-position="top">
  193. <el-row :gutter="10">
  194. <slot></slot>
  195. <el-col :span="24">
  196. <el-form-item label=" " class="auto">
  197. <el-upload drag :file-list="fileList2"
  198. action="#" ref="upload"
  199. :on-remove="onRemoveFile"
  200. :on-change="onChangeFile"
  201. multiple
  202. :auto-upload="false">
  203. <i class="el-icon-upload"></i>
  204. <div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
  205. </el-upload>
  206. </el-form-item>
  207. </el-col>
  208. <el-col :span="24">
  209. <el-form-item label="备注" class="auto">
  210. <el-input type="textarea" v-model="ossForm.remark" resize="none" :autosize="{minRows: 3, maxRows: 3}"></el-input>
  211. </el-form-item>
  212. </el-col>
  213. </el-row>
  214. </el-form>
  215. <span slot="footer" class="dialog-footer">
  216. <el-button type="primary" :loading="uploadLoading" @click="handleUploadFiles">确认</el-button>
  217. <el-button @click="ossVisible = false">取消</el-button>
  218. </span>
  219. </el-dialog>
  220. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  221. </div>
  222. </template>
  223. <script>
  224. /*组件*/
  225. import excel from "@/utils/excel-util.js";
  226. import {
  227. confirmRequest,getSupplierGroupRequestList,checkSrmSupplierList
  228. } from '@/api/srm/srmSupplier.js'
  229. import Chooselist from '@/views/modules/common/Chooselist_eam'
  230. import {ossUploadNoSaveOSS, previewOssFileById, queryOss} from "../../../api/oss/oss";
  231. export default {
  232. data() {
  233. return {
  234. functionId: this.$route.meta.menuId,
  235. height: 200,
  236. currentRow: {},
  237. searchData:{
  238. startDate:'',
  239. endDate:'',
  240. status:'待审批',
  241. supplierNo:'',
  242. supplierName:'',
  243. requestBy:'',
  244. requestNo:'',
  245. site:this.$store.state.user.site,
  246. page: 1,
  247. limit: 10,
  248. },
  249. uploadLoading:false,
  250. exportName: '供应商等级变更申请'+this.dayjs().format('YYYYMMDDHHmmss'),
  251. tagNo:'',
  252. tagType:'',
  253. pageIndex: 1,
  254. pageSize: 50,
  255. totalPage: 0,
  256. mainDataList:[],
  257. dataListLoading: false,
  258. requestModelFlag: false,
  259. requestModelData:{
  260. id:'',
  261. site:'',
  262. requestNo:'',
  263. supplierNo:'',
  264. supplierName:'',
  265. requestDate:'',
  266. createBy:'',
  267. oldSupplierGroup:'',
  268. newSupplierGroup:'',
  269. reason:'',
  270. status:'',
  271. fileList:[],
  272. },
  273. fileList:[],
  274. fileList2:[],
  275. ossVisible:false,
  276. ossForm:{
  277. remark:'',
  278. },
  279. radio:'审批通过',
  280. columnList1: [
  281. {
  282. userId: this.$store.state.user.name,
  283. functionId: this.functionId,
  284. serialNumber: '811011Table1RequestNo',
  285. tableId: "811011Table1",
  286. tableName: "供应商等级变更申请",
  287. columnProp: "requestNo",
  288. headerAlign: "center",
  289. align: "left",
  290. columnLabel: "请求编号",
  291. columnWidth: '100',
  292. columnHidden: false,
  293. columnImage: false,
  294. columnSortable: false,
  295. sortLv: 0,
  296. status: true,
  297. fixed: false
  298. },
  299. {
  300. userId: this.$store.state.user.name,
  301. functionId: this.functionId,
  302. serialNumber: '811011Table1RequestDate',
  303. tableId: "811011Table1",
  304. tableName: "供应商等级变更申请",
  305. columnProp: "requestDate",
  306. headerAlign: "center",
  307. align: "left",
  308. columnLabel: "请求日期",
  309. columnWidth: '120',
  310. columnHidden: false,
  311. columnImage: false,
  312. columnSortable: false,
  313. sortLv: 0,
  314. status: true,
  315. fixed: false
  316. },
  317. {
  318. userId: this.$store.state.user.name,
  319. functionId: this.functionId,
  320. serialNumber: '811011Table1SupplierNo',
  321. tableId: "811011Table1",
  322. tableName: "供应商等级变更申请",
  323. columnProp: "supplierNo",
  324. headerAlign: "center",
  325. align: "left",
  326. columnLabel: "供应商编码",
  327. columnWidth: '100',
  328. columnHidden: false,
  329. columnImage: false,
  330. columnSortable: false,
  331. sortLv: 0,
  332. status: true,
  333. fixed: false
  334. },
  335. {
  336. userId: this.$store.state.user.name,
  337. functionId: this.functionId,
  338. serialNumber: '811011Table1SupplierName',
  339. tableId: "811011Table1",
  340. tableName: "供应商等级变更申请",
  341. columnProp: "supplierName",
  342. headerAlign: "center",
  343. align: "left",
  344. columnLabel: "供应商名称",
  345. columnWidth: '240',
  346. columnHidden: false,
  347. columnImage: false,
  348. columnSortable: false,
  349. sortLv: 0,
  350. status: true,
  351. fixed: false
  352. },
  353. {
  354. userId: this.$store.state.user.name,
  355. functionId: this.functionId,
  356. serialNumber: '811011Table1OldSupplierGroup',
  357. tableId: "811011Table1",
  358. tableName: "供应商等级变更申请",
  359. columnProp: "oldSupplierGroup",
  360. headerAlign: "center",
  361. align: "left",
  362. columnLabel: "旧供应商等级",
  363. columnWidth: '140',
  364. columnHidden: false,
  365. columnImage: false,
  366. columnSortable: false,
  367. sortLv: 0,
  368. status: true,
  369. fixed: false
  370. },
  371. {
  372. userId: this.$store.state.user.name,
  373. functionId: this.functionId,
  374. serialNumber: '811011Table1NewSupplierGroup',
  375. tableId: "811011Table1",
  376. tableName: "供应商等级变更申请",
  377. columnProp: "newSupplierGroup",
  378. headerAlign: "center",
  379. align: "left",
  380. columnLabel: "新供应商等级",
  381. columnWidth: '140',
  382. columnHidden: false,
  383. columnImage: false,
  384. columnSortable: false,
  385. sortLv: 0,
  386. status: true,
  387. fixed: false
  388. },
  389. {
  390. userId: this.$store.state.user.name,
  391. functionId: this.functionId,
  392. serialNumber: '811011Table1Reason',
  393. tableId: "811011Table1",
  394. tableName: "供应商等级变更申请",
  395. columnProp: "reason",
  396. headerAlign: "center",
  397. align: "left",
  398. columnLabel: "原因",
  399. columnWidth: '200',
  400. columnHidden: false,
  401. columnImage: false,
  402. columnSortable: false,
  403. sortLv: 0,
  404. status: true,
  405. fixed: false
  406. },
  407. {
  408. userId: this.$store.state.user.name,
  409. functionId: this.functionId,
  410. serialNumber: '811011Table1Status',
  411. tableId: "811011Table1",
  412. tableName: "供应商等级变更申请",
  413. columnProp: "status",
  414. headerAlign: "center",
  415. align: "center",
  416. columnLabel: "状态",
  417. columnWidth: '80',
  418. columnHidden: false,
  419. columnImage: false,
  420. columnSortable: false,
  421. sortLv: 0,
  422. status: true,
  423. fixed: false
  424. },
  425. {
  426. userId: this.$store.state.user.name,
  427. functionId: this.functionId,
  428. serialNumber: '811011Table1RequestBy',
  429. tableId: "811011Table1",
  430. tableName: "供应商等级变更申请",
  431. columnProp: "requestBy",
  432. headerAlign: "center",
  433. align: "left",
  434. columnLabel: "请求人",
  435. columnWidth: '100',
  436. columnHidden: false,
  437. columnImage: false,
  438. columnSortable: false,
  439. sortLv: 0,
  440. status: true,
  441. fixed: false
  442. },
  443. ],
  444. }
  445. },
  446. /*组件*/
  447. components: {
  448. Chooselist,
  449. },
  450. watch: {
  451. requestModelData: {
  452. deep: true,
  453. handler: function (newV, oldV) {
  454. this.requestModelData.supplierNo = this.requestModelData.supplierNo.toUpperCase()
  455. }
  456. },
  457. },
  458. mounted() {
  459. this.$nextTick(() => {
  460. this.height = window.innerHeight - 220;
  461. })
  462. },
  463. methods: {
  464. // 获取基础数据列表S
  465. getBaseList(val, type) {
  466. this.tagNo = val
  467. this.tagType = type
  468. this.$nextTick(() => {
  469. let strVal = ''
  470. let conSql = ''
  471. if (val === 501) {
  472. if(type==1){
  473. strVal = this.searchData.supplierNo || ''
  474. }
  475. if(type==2){
  476. strVal = this.requestModelData.supplierNo || ''
  477. }
  478. conSql = " and site = '" + this.$store.state.user.site + "'"
  479. }
  480. this.$refs.baseList.init(val, strVal, conSql)
  481. })
  482. },
  483. /* 列表方法的回调 */
  484. getBaseData(val) {
  485. console.log('Chooselist返回的数据:', val, 'tagNo:', this.tagNo, 'tagType:', this.tagType)
  486. if (this.tagNo === 501) {
  487. // 供应商编码字段 - SQL返回: SupplierID, SupplierName
  488. const supplierNoVal = val.SupplierID || val.supplierID || val.supplierId || ''
  489. const supplierNameVal = val.SupplierName || val.supplierName || val.supplier_name || ''
  490. if(this.tagType==1) {
  491. this.searchData.supplierNo = supplierNoVal
  492. console.log('查询条件-供应商编码赋值:', supplierNoVal)
  493. }
  494. if(this.tagType==2) {
  495. this.requestModelData.supplierNo = supplierNoVal
  496. this.requestModelData.supplierName = supplierNameVal
  497. this.requestModelData.oldSupplierGroup = val.supplier_group || ''
  498. console.log('弹窗-供应商编码赋值:', supplierNoVal, '供应商名称赋值:', supplierNameVal)
  499. }
  500. }
  501. },
  502. getMainData(){
  503. this.searchData.limit = this.pageSize
  504. this.searchData.page = this.pageIndex
  505. getSupplierGroupRequestList(this.searchData).then(({data}) => {
  506. if (data.code === 0) {
  507. this.mainDataList = data.page.list
  508. this.pageIndex = data.page.currPage
  509. this.pageSize = data.page.pageSize
  510. this.totalPage = data.page.totalCount
  511. }
  512. this.dataListLoading = false
  513. })
  514. },
  515. // 每页数
  516. sizeChangeHandle (val) {
  517. this.pageSize = val
  518. this.pageIndex = 1
  519. this.getMainData()
  520. },
  521. // 当前页
  522. currentChangeHandle (val) {
  523. this.pageIndex = val
  524. this.getMainData()
  525. },
  526. async exportExcel() {
  527. this.searchData.limit = -1
  528. this.searchData.page = 1
  529. excel.exportTable({
  530. url: "/srmSupplier/getSupplierGroupRequestList",
  531. columnMapping: this.columnList1,//可以直接用table,不需要的列就剔除
  532. mergeSetting: [],//需要合并的列
  533. params: this.searchData,
  534. fileName: this.exportName+".xlsx",
  535. rowFetcher: res => res.data,
  536. columnFormatter: [],
  537. dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列
  538. });
  539. },
  540. requestModel(row){
  541. this.requestModelData={
  542. id:row.id,
  543. site:row.site,
  544. requestNo:row.requestNo,
  545. supplierNo:row.supplierNo,
  546. supplierName:row.supplierName,
  547. requestDate:row.requestDate,
  548. oldSupplierGroup:row.oldSupplierGroup,
  549. newSupplierGroup:row.newSupplierGroup,
  550. updateBy:this.$store.state.user.name,
  551. reason:row.reason,
  552. status:'',
  553. fileList:[],
  554. }
  555. this.radio='审批通过'
  556. let params={
  557. orderRef1:row.site,
  558. orderRef2:row.requestNo,
  559. orderReftype:'SrmSupplierRequest',
  560. }
  561. queryOss(params).then(({data})=>{
  562. if (data && data.code === 0){
  563. this.fileList = data.rows;
  564. }else {
  565. this.$message.warning(data.msg);
  566. }
  567. this.queryLoading = false;
  568. })
  569. this.requestModelFlag=true
  570. },
  571. // submitData(){
  572. // if(this.requestModelData.supplierNo==''||this.requestModelData.supplierNo==null){
  573. // this.$message.warning('未选择Supplier No!')
  574. // return false
  575. // }
  576. // if(this.requestModelData.requestDate==''||this.requestModelData.requestDate==null){
  577. // this.$message.warning('未选择Request Date!')
  578. // return false
  579. // }
  580. // if(this.requestModelData.newSupplierGroup==''||this.requestModelData.newSupplierGroup==null){
  581. // this.$message.warning('未选择Supplier Group!')
  582. // return false
  583. // }
  584. // if(this.requestModelData.oldSupplierGroup===this.requestModelData.newSupplierGroup){
  585. // this.$message.warning('新供应商等级与旧供应商等级相同!')
  586. // return false
  587. // }
  588. // this.requestModelData.fileList= this.fileList
  589. //
  590. // createNewSupplierRequest( this.requestModelData).then(({data})=>{
  591. // if (data && data.code === 0){
  592. // this.$message.success(data.msg);
  593. // this.getMainData();
  594. // this.requestModelFlag=false
  595. // }else {
  596. // this.$message.warning(data.msg);
  597. // }
  598. // }).catch((error)=>{
  599. // this.$message.error(error);
  600. // })
  601. //
  602. // },
  603. submitData(){
  604. this.$confirm(`确认审批此申请?`, '提示', {
  605. confirmButtonText: '确认',
  606. cancelButtonText: '取消',
  607. type: 'warning'
  608. }).then(() => {
  609. this.requestModelData.status=this.radio
  610. confirmRequest(this.requestModelData).then(({data}) => {
  611. if (data && data.code === 0) {
  612. this.$message.success(data.msg);
  613. this.getMainData();
  614. this.requestModelFlag=false
  615. } else {
  616. this.$message.warning(data.msg);
  617. }
  618. })
  619. }).catch(() => {
  620. })
  621. },
  622. onRemoveFile(file, fileList){
  623. this.fileList2 = fileList
  624. },
  625. onChangeFile(file, fileList){
  626. this.fileList2 = fileList
  627. },
  628. handleUploadFiles(){
  629. if (this.fileList2.length === 0){
  630. this.$message.error('请选择文件');
  631. return;
  632. }
  633. let formData = new FormData();
  634. for (let i = 0; i < this.fileList2.length; i++) {
  635. formData.append('file', this.fileList2[i].raw);
  636. }
  637. formData.append('orderRef1', '');
  638. formData.append('orderRef2', '');
  639. formData.append('createdBy', this.$store.state.user.name);
  640. formData.append('fileRemark', this.ossForm.remark);
  641. this.uploadLoading = true;
  642. ossUploadNoSaveOSS(formData).then(({data})=>{
  643. if (data && data.code === 0){
  644. this.$message.success(data.msg);
  645. for (let i = 0; i <data.rows.length ; i++) {
  646. this.fileList.push(data.rows[i]);
  647. }
  648. this.ossVisible = false;
  649. }else {
  650. this.$message.warning(data.msg);
  651. }
  652. this.uploadLoading = false;
  653. }).catch((error)=>{
  654. this.$message.error(error);
  655. this.uploadLoading = false;
  656. })
  657. },
  658. handleUpload(){
  659. this.$nextTick(()=>{
  660. if (this.$refs.upload){
  661. this.$refs.upload.clearFiles();
  662. }
  663. })
  664. this.fileList2 = [];
  665. this.ossForm.remark = '';
  666. this.ossVisible = true
  667. },
  668. handleDownload(row){
  669. // 之前代码多选时只能下载一个,因为下载第一个后this.$refs.table.clearSelection()会清空选中项
  670. let selectList = [];
  671. selectList.push(row);
  672. for (let i = 0; i < selectList.length; i++) {
  673. let params = {
  674. id:selectList[i].id,
  675. }
  676. previewOssFileById(params).then((response) => {
  677. const blob = new Blob([response.data], { type: response.headers['content-type'] });
  678. const link = document.createElement('a');
  679. link.href = URL.createObjectURL(blob);
  680. link.setAttribute('download', selectList[i].fileName);
  681. link.target = '_blank'; // 打开新窗口预览
  682. link.click();
  683. URL.revokeObjectURL(link.href);
  684. });
  685. }
  686. },
  687. deleteFile(index){
  688. this.fileList.splice(index, 1);
  689. },
  690. supplierNoBlur(){
  691. let params = {
  692. supplierNo: this.requestModelData.supplierNo,
  693. site: this.$store.state.user.site,
  694. }
  695. checkSrmSupplierList(params).then(({data}) => {
  696. if (data && data.code === 0) {
  697. if (data.rows.length >= 1){
  698. this.requestModelData.supplierName = data.rows[0].supplierName
  699. }else {
  700. this.requestModelData.supplierName = ''
  701. }
  702. }else {
  703. this.requestModelData.supplierName = ''
  704. }
  705. }).catch((error) => {
  706. this.$message.error(error)
  707. })
  708. },
  709. },
  710. created() {
  711. //查询报表的类型
  712. this.getMainData();
  713. },
  714. }
  715. </script>
  716. <!--当前页面的标签样式-->
  717. <style scoped lang="scss">
  718. .rq .auto /deep/ .el-form-item__content{
  719. height: auto;
  720. line-height: 1.5;
  721. }
  722. </style>