record.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691
  1. <template>
  2. <div class="bg" id="index">
  3. <div class="row1">
  4. <div class="left">
  5. <el-date-picker @change="datechange" format="yyyy-MM-dd" v-model="value2" type="daterange" unlink-panels
  6. range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
  7. </el-date-picker>
  8. <el-input :placeholder="'可按业务编号、车牌号、客户名查找'" clearable v-model="searchKeyWord" class="search_css"></el-input>
  9. <el-button type="primary" size="small" @click="lookup" class="search">查找</el-button>
  10. </div>
  11. <div class="right">
  12. <el-button type="primary" size="small" @click="batchPay(1)">批量收款</el-button>
  13. <el-button type="primary" size="small" @click="batchPay(2)">批量付款</el-button>
  14. <el-button type="primary" size="small" @click="exportExcel()">导出</el-button>
  15. <el-button type="primary" size="small" @click="handlestatus(1)">盘亏</el-button>
  16. <el-button type="primary" size="small" @click="handlestatus(2)">盘盈</el-button>
  17. </div>
  18. </div>
  19. <div class="row2">
  20. <div class="left">
  21. <el-button type="primary" size="small" @click="search(0)">全部</el-button>
  22. <el-button type="primary" size="small" @click="search(1)">入库记录</el-button>
  23. <el-button type="primary" size="small" @click="search(2)">出库记录</el-button>
  24. <el-button type="primary" size="small" @click="search('已付')">已付</el-button>
  25. <el-button type="primary" size="small" @click="search('未付')">未付</el-button>
  26. <el-button type="primary" size="small" @click="search('已收')">已收</el-button>
  27. <el-button type="primary" size="small" @click="search('未收')">未收</el-button>
  28. </div>
  29. <div class="right">
  30. <el-select v-model="value" placeholder="请选择" @change="changeGoodsName">
  31. <el-option v-for="item in goodsList" :key="item.id" :label="item.goodsName" :value="item.goodsName">
  32. </el-option>
  33. </el-select>
  34. <div class="text">库存{{ goodsObj.storage }}吨</div>
  35. <div class="text">加权成本{{ goodsObj.weightedCost }}元/吨</div>
  36. <el-button type="primary" size="small" @click="zero()">归零</el-button>
  37. </div>
  38. </div>
  39. <div>
  40. <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
  41. @selection-change="handleSelectionChange" class="table">
  42. <el-table-column type="selection" width="55">
  43. </el-table-column>
  44. <el-table-column label="业务编号" width="120" prop="businessNo">
  45. </el-table-column>
  46. <el-table-column prop="positionNo" label="仓位"></el-table-column>
  47. <el-table-column prop="address" label="类型" show-overflow-tooltip>
  48. <template slot-scope="scope">
  49. <div v-if="scope.row.inOutFlag == 1">出库</div>
  50. <div v-else>入库</div>
  51. </template>
  52. </el-table-column>
  53. <el-table-column prop="carNumber" label="车牌号" show-overflow-tooltip>
  54. </el-table-column>
  55. <el-table-column prop="customerName" label="客户" show-overflow-tooltip>
  56. <template slot-scope="scope">
  57. <div style="color:cornflowerblue" v-if="scope.row.customerId" @click="selectCustomer(scope.row)">
  58. {{ scope.row.customerName }}</div>
  59. <div v-else>{{ scope.row.customerName }}</div>
  60. </template>
  61. </el-table-column>
  62. <el-table-column prop="goodsName" label="货名" show-overflow-tooltip>
  63. </el-table-column>
  64. <el-table-column prop="grossWeight" label="毛重(吨)" show-overflow-tooltip>
  65. </el-table-column>
  66. <el-table-column prop="trae" label="皮重(吨)" show-overflow-tooltip>
  67. </el-table-column>
  68. <el-table-column prop="netWeight" label="净重(吨)" show-overflow-tooltip>
  69. </el-table-column>
  70. <el-table-column prop="bulkDensity" label="容重(克/升)" width="100">
  71. </el-table-column>
  72. <el-table-column prop="waterContent" label="水分(%)" show-overflow-tooltip>
  73. </el-table-column>
  74. <el-table-column prop="address" label="更多指标" show-overflow-tooltip>
  75. <template slot-scope="scope">
  76. <div style="color:cornflowerblue" @click="moreInfo(scope.row)">查看</div>
  77. </template>
  78. </el-table-column>
  79. <el-table-column prop="unitPrice" label="单价(元/吨)" width="100">
  80. </el-table-column>
  81. <el-table-column prop="grainFund" label="粮款(元)" show-overflow-tooltip>
  82. </el-table-column>
  83. <el-table-column prop="address" label="备注" show-overflow-tooltip>
  84. <template slot-scope="scope" v-if="scope.row.remark">
  85. <div style="color:cornflowerblue" @click="lookRemark(scope.row.remark)">查看</div>
  86. </template>
  87. </el-table-column>
  88. <el-table-column prop="createDate" label="日期" width="140">
  89. </el-table-column>
  90. <el-table-column prop="status" label="收款状态" show-overflow-tooltip>
  91. <template slot-scope="scope">
  92. <div style="display:flex;align-items: center">
  93. <div style="color:cornflowerblue">{{ scope.row.status }}</div>
  94. <img src="../../../public/img/change.png" alt="" width="18" height="20"
  95. style="vertical-align: text-top; position: relative; top: -1px" @click="changeStatus(scope.row)">
  96. </div>
  97. </template>
  98. </el-table-column>
  99. <el-table-column prop="address" label="附件" show-overflow-tooltip>
  100. <template slot-scope="scope">
  101. <img width="18" height="20" style="vertical-align: text-top; position: relative; top: -1px"
  102. src="../../../public/img/fujian.png" @click="fujian(scope.row)" alt="" />
  103. <span v-if="scope.row.addressUrlArray != null">
  104. {{
  105. scope.row.addressUrlArray.length == 0
  106. ? ''
  107. : scope.row.addressUrlArray.length
  108. }}
  109. </span>
  110. </template>
  111. </el-table-column>
  112. <el-table-column prop="address" label="操作" show-overflow-tooltip>
  113. <template scope="scope">
  114. <span style="color: red;" @click="del(scope.row)">删除</span>
  115. </template>
  116. </el-table-column>
  117. </el-table>
  118. </div>
  119. <div style="text-align: center; padding: 10px">
  120. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  121. :page-size="deptCircularPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="deptBudgetTotal">
  122. </el-pagination>
  123. <WinseaContentModal v-model="accessoryTFs" @on-cancel="handleClose">
  124. <div>
  125. <ws-upload ref="upload" :size-limit="size" @onChange="onChange" :comp-id="compId" :appendix-ids="appendixIdss"
  126. accept=".jpg, .jpeg, .png, .pdf, .doc, .docx, .zip, .rar" />
  127. </div>
  128. </WinseaContentModal>
  129. </div>
  130. <el-dialog width="320px" title="客户信息" :visible.sync="isShowCustomer" :append-to-body="true" :close="customerclose">
  131. <el-form class="customer" label-position="right" label-width="120px">
  132. <el-form-item class="customer-item" label="姓名">
  133. <el-input disabled maxlength="100" size="small" v-model="customerObj.customerName" />
  134. </el-form-item>
  135. <el-form-item class="customer-item" label="手机号">
  136. <el-input disabled size="small" v-model="customerObj.customerPhone" />
  137. </el-form-item>
  138. <el-form-item class="customer-item" label="银行卡号">
  139. <el-input disabled v-model="customerObj.bankCard" size="small" />
  140. </el-form-item>
  141. <el-form-item class="customer-item" label="开户行">
  142. <el-input disabled v-model="customerObj.bankDeposit" size="small" />
  143. </el-form-item>
  144. <el-form-item class="customer-item" label="开户支行">
  145. <el-input disabled v-model="customerObj.bankDepositBranch" size="small" />
  146. </el-form-item>
  147. </el-form>
  148. </el-dialog>
  149. <el-dialog width="320px" title="备注信息" :visible.sync="isShowRemark" :append-to-body="true" :close="remarkClose">
  150. {{ remarkVal }}
  151. </el-dialog>
  152. <el-dialog width="320px" title="指标信息" :visible.sync="isShowMoreInfo" :append-to-body="true" :close="moreInfoClose">
  153. <el-form class="customer" label-position="right" label-width="80px">
  154. <el-form-item label="水分">
  155. <el-input disabled size="small" v-model="moreInfoObj.waterContent" />
  156. </el-form-item>
  157. <el-form-item label="杂质">
  158. <el-input disabled size="small" v-model="moreInfoObj.impurity" />
  159. </el-form-item>
  160. <el-form-item label="霉变粒">
  161. <el-input disabled size="small" v-model="moreInfoObj.mildewGrain" />
  162. </el-form-item>
  163. <el-form-item label="不完善粒">
  164. <el-input disabled size="small" v-model="moreInfoObj.imperfectGrain" />
  165. </el-form-item>
  166. <el-form-item label="容重">
  167. <el-input disabled size="small" v-model="moreInfoObj.bulkDensity" />
  168. </el-form-item>
  169. <el-form-item label="热损伤">
  170. <el-input disabled size="small" v-model="moreInfoObj.jiaorenli" />
  171. </el-form-item>
  172. <el-form-item label="蛋白">
  173. <el-input disabled size="small" v-model="moreInfoObj.protein" />
  174. </el-form-item>
  175. </el-form>
  176. </el-dialog>
  177. <el-dialog width="320px" :title="inventoryTitle" :visible.sync="isShowInventory" :append-to-body="true"
  178. :close="inventoryClose">
  179. <el-form class="customer" label-position="right" label-width="120px">
  180. <el-form-item class="customer-item" label="货名">
  181. <el-select v-model="pSubmitObj.goodsName" placeholder="请选择" @change="changeGoodsName1">
  182. <el-option v-for="item in goodsList" :key="item.id" :label="item.goodsName" :value="item.goodsName">
  183. </el-option>
  184. </el-select>
  185. </el-form-item>
  186. <el-form-item class="customer-item" label="现有库存">
  187. <el-input disabled size="small" v-model="goodsObj1.storage" />
  188. </el-form-item>
  189. <el-form-item class="customer-item" label="盘亏重量(吨)" v-if="inventoryTitle == '盘亏'">
  190. <el-input placeholder="输入盘亏重量" maxlength="100" size="small" v-model="pSubmitObj.netWeight" @input="inputVal"
  191. type="number" />
  192. </el-form-item>
  193. <el-form-item class="customer-item" label="单价(元/吨)" v-if="inventoryTitle == '盘亏'">
  194. <el-input placeholder="输入盘亏重量单价" size="small" v-model="pSubmitObj.unitPrice" @input="inputVal" type="number" />
  195. </el-form-item>
  196. <el-form-item class="customer-item" label="货值(元)" v-if="inventoryTitle == '盘亏'">
  197. <el-input disabled placeholder="自动计算盘亏重量的货值" size="small" v-model="pSubmitObj.grainFund" />
  198. </el-form-item>
  199. <el-form-item class="customer-item" label="盘亏重量(吨)" v-if="inventoryTitle == '盘盈'">
  200. <el-input placeholder="输入盘盈重量" maxlength="100" size="small" v-model="pSubmitObj.netWeight" @input="inputVal"
  201. type="number" />
  202. </el-form-item>
  203. <el-form-item class="customer-item" label="单价(元/吨)" v-if="inventoryTitle == '盘盈'">
  204. <el-input placeholder="输入盘盈重量单价" size="small" v-model="pSubmitObj.unitPrice" @input="inputVal" type="number" />
  205. </el-form-item>
  206. <el-form-item class="customer-item" label="货值(元)" v-if="inventoryTitle == '盘盈'">
  207. <el-input disabled placeholder="自动计算盘盈重量的货值" size="small" v-model="pSubmitObj.grainFund" />
  208. </el-form-item>
  209. </el-form>
  210. <div slot="footer" class="dialog-footer">
  211. <el-button @click="panSubmit" type='primary'>提 交</el-button>
  212. </div>
  213. </el-dialog>
  214. </div>
  215. </template>
  216. <script>
  217. import WsUpload from '@/components/WsUpload'
  218. import {
  219. downloadFile
  220. } from '@/utils/batchDown'
  221. import {
  222. dayjs,
  223. EventBus
  224. } from 'base-core-lib'
  225. import {
  226. speedWarehouseInOutInfoList,
  227. speedWarehouseInOutInfoAdd,
  228. speedWarehouseInOutInfoEdit,
  229. speedWarehouseInOutInfoDel,
  230. makeZero,
  231. // selectInOutCount,
  232. exportOrder,
  233. speedCustomerInfo,
  234. speedGoodsList
  235. } from '@/model/speedGoods'
  236. export default {
  237. components: {
  238. WsUpload
  239. },
  240. data() {
  241. return {
  242. moreInfoObj:{},
  243. isShowMoreInfo:false,
  244. remarkVal: '',
  245. isShowRemark: false,
  246. dataObj: {},
  247. size: 10,
  248. pSubmitObj: {
  249. goodsName: ''
  250. },
  251. goodsObj: {},
  252. goodsObj1: {},
  253. date: {
  254. year: dayjs().format('YYYY'),
  255. month: dayjs().format('MM'),
  256. },
  257. startDate: '',
  258. endDate: '',
  259. inventoryTitle: '',
  260. isShowInventory: false,
  261. isShowCustomer: false,
  262. customerObj: {},
  263. compId: localStorage.getItem('ws-pf_compId'),
  264. appendixIdss: [],
  265. applstatus: false,
  266. accessoryTFs: false,
  267. deptCircularPage: {},
  268. deptBudgetTotal: 0,
  269. currentPage: 1,
  270. pageSize: 10,
  271. tableData: [],
  272. multipleSelection: [],
  273. goodsList: [],
  274. value: '',
  275. searchKeyWord: '',
  276. value2: '',
  277. status: ''
  278. };
  279. },
  280. created() {
  281. this.getGoodSName()
  282. this.getList()
  283. },
  284. mounted() {
  285. },
  286. beforeDestroy() {
  287. },
  288. methods: {
  289. moreInfoClose(){
  290. this.isShowMoreInfo = false
  291. },
  292. //更多指标
  293. moreInfo(val) {
  294. this.moreInfoObj = val
  295. console.log(this.moreInfoObj)
  296. this.isShowMoreInfo = true
  297. },
  298. // 查看备注
  299. lookRemark(val) {
  300. this.remarkVal = val
  301. this.isShowRemark = true
  302. },
  303. // 更改已付、未付、已收、未收状态
  304. changeStatus(val) {
  305. if (val.status == '已付') {
  306. val.status = "未付"
  307. } else if (val.status == '未付') {
  308. val.status = "已付"
  309. val.flag = 1
  310. } else if (val.status == '已收') {
  311. val.status = "未收"
  312. } else if (val.status == '未收') {
  313. val.status = "已收"
  314. val.flag = 2
  315. }
  316. speedWarehouseInOutInfoEdit(val).toPromise()
  317. .then((res) => {
  318. if (res == "ok") {
  319. this.$message.success('提交成功!')
  320. this.isShowInventory = false
  321. }
  322. })
  323. },
  324. //计算盘盈盘亏货值
  325. inputVal() {
  326. if (this.pSubmitObj.netWeight && this.pSubmitObj.unitPrice) {
  327. this.pSubmitObj.grainFund = this.pSubmitObj.netWeight * this.pSubmitObj.unitPrice
  328. }
  329. },
  330. //盘亏盘盈
  331. async panSubmit() {
  332. this.pSubmitObj.compId = this.compId
  333. if (this.pSubmitObj == '盘亏') {
  334. this.pSubmitObj.inOutFlag = 1
  335. } else {
  336. this.pSubmitObj.inOutFlag = 2
  337. }
  338. await speedWarehouseInOutInfoAdd(this.pSubmitObj).toPromise()
  339. .then((res) => {
  340. if (res == "ok") {
  341. this.$message.success('提交成功!')
  342. this.isShowInventory = false
  343. }
  344. })
  345. },
  346. // 查看客户
  347. selectCustomer(val) {
  348. speedCustomerInfo({
  349. customerId: val.customerId
  350. })
  351. .toPromise()
  352. .then((response) => {
  353. this.isShowCustomer = true
  354. this.customerObj = response
  355. })
  356. },
  357. //搜索
  358. search(type) {
  359. switch (type) {
  360. case 0:
  361. this.searchType = ''
  362. this.status = ''
  363. break
  364. case 1:
  365. this.searchType = 1
  366. break;
  367. case 2:
  368. this.searchType = 2
  369. break;
  370. default:
  371. this.status = type
  372. break
  373. }
  374. this.getList()
  375. },
  376. //选择货名
  377. changeGoodsName(val) {
  378. this.goodsObj = this.goodsList.filter((item) => {
  379. if (val == item.goodsName) return item
  380. })[0]
  381. },
  382. //盘盈盘亏选择货名
  383. changeGoodsName1(val) {
  384. this.goodsObj1 = this.goodsList.filter((item) => {
  385. if (val == item.goodsName) return item
  386. })[0]
  387. },
  388. dateFormat(fmt, date) {
  389. let ret
  390. const opt = {
  391. 'Y+': date.getFullYear().toString(), // 年
  392. 'm+': (date.getMonth() + 1).toString(), // 月
  393. 'd+': date.getDate().toString(), // 日
  394. // 'H+': date.getHours().toString(), // 时
  395. // "M+": date.getMinutes().toString(), // 分
  396. // "S+": date.getSeconds().toString() // 秒
  397. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  398. }
  399. for (let k in opt) {
  400. ret = new RegExp('(' + k + ')').exec(fmt)
  401. if (ret) {
  402. fmt = fmt.replace(
  403. ret[1],
  404. ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
  405. )
  406. }
  407. }
  408. return fmt
  409. },
  410. datechange(e) {
  411. if (this.value2) {
  412. this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
  413. this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
  414. } else {
  415. this.startDate = ''
  416. this.endDate = ''
  417. }
  418. this.getList()
  419. },
  420. //货名下拉
  421. getGoodSName() {
  422. speedGoodsList({
  423. compId: localStorage.getItem('ws-pf_compId')
  424. })
  425. .toPromise()
  426. .then((response) => {
  427. this.goodsList = response
  428. if (this.goodsList.length != 0) {
  429. this.value = this.goodsList[0].goodsName
  430. this.pSubmitObj.goodsName = this.goodsList[0].goodsName
  431. this.goodsObj = this.goodsList[0]
  432. this.goodsObj1 = this.goodsList[0]
  433. }
  434. })
  435. },
  436. getList() {
  437. speedWarehouseInOutInfoList({
  438. compId: this.compId,
  439. currentPage: this.currentPage,
  440. pageSize: this.pageSize,
  441. searchKeyWord: this.searchKeyWord,
  442. searchType: this.searchType,
  443. startDate: this.startDate,
  444. endDate: this.endDate,
  445. status: this.status
  446. })
  447. .toPromise()
  448. .then((response) => {
  449. if (response.records) {
  450. for (let i = 0; i < response.records.length; i++) {
  451. response.records[i].addressUrlArray = []
  452. response.records[i].addressUrlArray = response.records[i].addressUrl ? response.records[i].addressUrl.split(",") : []
  453. }
  454. }
  455. this.tableData = response.records
  456. this.deptBudgetTotal = response.total
  457. })
  458. },
  459. async exportExcel() {
  460. if (this.multipleSelection.length == 0) {
  461. this.$message.error("请勾选导出条目!")
  462. return
  463. }
  464. const {
  465. data
  466. } = await exportOrder({
  467. speedWarehouseInOutInfoList: this.multipleSelection
  468. }, {}, {
  469. responseType: 'blob',
  470. }).toPromise()
  471. downloadFile({
  472. res: data,
  473. fileName: `${this.date.year + (this.date.month ? `-${this.date.month}` : '')
  474. }_出入库记录`,
  475. type: 'xls',
  476. })
  477. },
  478. // 批量收付款
  479. batchPay(val) {
  480. let _flag = ''
  481. let _text = ""
  482. if (val == 1) {
  483. _text = '收款'
  484. _flag = 4
  485. for (let i = 0; i < this.multipleSelection.length; i++) {
  486. if (this.multipleSelection[i].status == '已付' || this.multipleSelection[i].status == '未付' || this.multipleSelection[i].status == '已收') {
  487. this.$message.error('存在已付或未付或已收项,请重新勾选!')
  488. return
  489. }
  490. }
  491. } else {
  492. _text = '付款'
  493. _flag = 3
  494. for (let i = 0; i < this.multipleSelection.length; i++) {
  495. if (this.multipleSelection[i].status == '已收' || this.multipleSelection[i].status == '未收' || this.multipleSelection[i].status == '已付') {
  496. this.$message.error('存在已收或未收或已付项,请重新勾选!')
  497. return
  498. }
  499. }
  500. }
  501. this.$confirm('确定勾选的条目均已' + _text + '?', '提示', {
  502. confirmButtonText: '确定',
  503. cancelButtonText: '取消',
  504. type: 'warning'
  505. }).then(() => {
  506. speedWarehouseInOutInfoEdit({ flag: _flag, speedWarehouseInOutInfoList: this.multipleSelection }).toPromise()
  507. .then((res) => {
  508. if (res == "OK") {
  509. this.$message.success('提交成功!')
  510. this.isShowInventory = false
  511. this.getList()
  512. }
  513. })
  514. }).catch(() => {
  515. return false
  516. });
  517. },
  518. del(val) {
  519. this.$confirm('确定删除出入库记录?', '提示', {
  520. confirmButtonText: '确定',
  521. cancelButtonText: '取消',
  522. type: 'warning'
  523. }).then(() => {
  524. speedWarehouseInOutInfoDel({ id: val.id}).toPromise()
  525. .then((res) => {
  526. this.$message.success('删除成功!')
  527. this.getList()
  528. })
  529. }).catch(() => {
  530. return false
  531. });
  532. },
  533. // 归零
  534. zero() {
  535. this.$confirm('确定将【' + this.goodsObj.goodsName + '】的库存和成本归零?', '提示', {
  536. confirmButtonText: '确定',
  537. cancelButtonText: '取消',
  538. type: 'warning'
  539. }).then(() => {
  540. makeZero({
  541. id: this.goodsObj.id
  542. }).toPromise()
  543. .then((response) => {
  544. this.$message({
  545. type: 'success',
  546. message: '操作成功!'
  547. });
  548. this.getGoodSName()
  549. })
  550. }).catch(() => {
  551. return false
  552. });
  553. },
  554. inventoryClose() {
  555. this.isShowInventory = false
  556. },
  557. //盘亏盘盈
  558. handlestatus(type) {
  559. if (type == 1) {
  560. this.inventoryTitle = '盘亏'
  561. } else {
  562. this.inventoryTitle = '盘盈'
  563. }
  564. this.isShowInventory = true
  565. },
  566. remarkClose() {
  567. this.isShowRemark = false
  568. },
  569. customerclose() {
  570. this.isShowCustomer = false
  571. },
  572. // 查看客户
  573. customerClick(val) {
  574. this.isShowCustomer = true
  575. },
  576. onChange() {
  577. this.$refs.upload
  578. .handleSaveBill()
  579. .then(async (response) => {
  580. this.dataObj.addressUrl = response
  581. this.dataObj.flag = 0
  582. speedWarehouseInOutInfoEdit(this.dataObj)
  583. .toPromise()
  584. .then((response) => {
  585. this.accessoryTFs = false
  586. this.$message.success('上传成功')
  587. this.getList()
  588. })
  589. })
  590. .catch((res) => {
  591. EventBus.$emit('error', (JSON.parse(res) || {}).message)
  592. this.$refs.upload.clearFiles()
  593. })
  594. },
  595. // 上传附件
  596. uploadSuccess(data, files, url) {
  597. console.log(data, files, url)
  598. },
  599. handleClose() {
  600. this.dialogViewSpareMoney = false
  601. },
  602. fujian(row) {
  603. this.id = row.id
  604. this.accessoryTFs = true
  605. this.dataObj = row
  606. this.appendixIdss = row.addressUrl
  607. },
  608. handleSizeChange(val) {
  609. this.pageSize = val
  610. // this.getList()
  611. },
  612. handleCurrentChange(val) {
  613. this.currentPage = val
  614. this.getList()
  615. },
  616. toggleSelection(rows) {
  617. if (rows) {
  618. rows.forEach(row => {
  619. this.$refs.multipleTable.toggleRowSelection(row);
  620. });
  621. } else {
  622. this.$refs.multipleTable.clearSelection();
  623. }
  624. },
  625. handleSelectionChange(val) {
  626. this.multipleSelection = val;
  627. },
  628. lookup() {
  629. this.getList()
  630. },
  631. },
  632. };
  633. </script>
  634. <style lang="scss" scoped>
  635. .bg {
  636. width: 100%;
  637. height: 100%;
  638. padding: 16px 16px 10px 16px;
  639. box-sizing: border-box;
  640. background-size: cover;
  641. background-position: center center;
  642. .row1 {
  643. display: flex;
  644. justify-content: space-between;
  645. .left {
  646. display: flex;
  647. }
  648. }
  649. .row2 {
  650. margin-top: 20px;
  651. display: flex;
  652. justify-content: space-between;
  653. .right {
  654. display: flex;
  655. align-items: center;
  656. .text {
  657. margin: 0 10px;
  658. }
  659. }
  660. }
  661. }
  662. .search,
  663. .search_css {
  664. margin-left: 10px;
  665. }
  666. .table {
  667. margin-top: 20px;
  668. }
  669. </style>