From 025dafb9892a8ff8f8a855343660f837a0f231d3 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期一, 20 十一月 2023 16:31:11 +0800
Subject: [PATCH] 库存管理前端
---
admin-web/src/views/stock/inventorycount/inventorytask/index.vue | 56 +
admin-web/src/views/stock/procure/purchaseOrder/detail.vue | 4
admin-web/src/utils/settingIplatform.js | 4
admin-web/src/views/stock/transfer/transferApplication/index.vue | 24
admin-web/src/views/stock/accessStock/outbound/detail.vue | 4
admin-web/src/api/baseSetting/finsystenant.js | 8
admin-web/src/views/stock/inventorycount/inventorytask/edit.vue | 77
admin-web/src/views/departmentitem/itemret/retDetails/index.vue | 115 --
admin-web/src/views/stock/index.scss | 25
admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue | 173 ---
admin-web/src/views/stock/accessStock/outbound/edit.vue | 7
admin-web/public/static/config.js | 4
admin-web/src/views/stock/ledger/inventoryQuery/index.vue | 128 +-
admin-web/src/views/stock/procure/purchaseOrder/index.vue | 30
admin-web/src/views/foundation/store/person.vue | 20
admin-web/src/views/departmentitem/itemret/returnNote/index.vue | 530 ++---------
admin-web/src/views/stock/transfer/transferissue/index.vue | 39
admin-web/src/components/myTable/myTableV2.vue | 2
admin-web/src/views/stock/inventorycount/inventorytask/detail.vue | 5
admin-web/src/styles/store.scss | 361 ++++----
admin-web/src/views/systemManger/server/user/edit.vue | 1
admin-web/src/views/departmentitem/itemret/returnNote/detail.vue | 120 ++
admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue | 250 ++---
admin-web/src/views/stock/procure/purchaseOrder/edit.vue | 9
admin-web/src/api/stock/ledger.js | 11
admin-web/src/views/departmentitem/itemret/returnNote/edit.vue | 436 ++++++++++
admin-web/src/views/stock/transfer/transferApplication/detail.vue | 5
admin-web/src/views/stock/accessStock/outboundDetails/index.vue | 27
28 files changed, 1,300 insertions(+), 1,175 deletions(-)
diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js
index bac4b67..60dfb72 100644
--- a/admin-web/public/static/config.js
+++ b/admin-web/public/static/config.js
@@ -14,8 +14,8 @@
// 鎺ュ彛璇锋眰鍦板潃
// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
// apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
- apiBaseURL: 'http://172.16.20.10:8083/lowConsum',//寮�鍙�
- // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
+ // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
+ apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// socket杩炴帴
wsSocketUrl: VUE_APP_WS_URL,
diff --git a/admin-web/src/api/baseSetting/finsystenant.js b/admin-web/src/api/baseSetting/finsystenant.js
index 4215cc1..d4087b1 100644
--- a/admin-web/src/api/baseSetting/finsystenant.js
+++ b/admin-web/src/api/baseSetting/finsystenant.js
@@ -186,4 +186,12 @@
method: 'get',
params,
});
+}
+// 搴撳瓨
+export function tenantUserQueryUser(params) {
+ return request({
+ url: '/pc/fin/sys/tenant/user/query/user',
+ method: 'get',
+ params,
+ });
}
\ No newline at end of file
diff --git a/admin-web/src/api/stock/ledger.js b/admin-web/src/api/stock/ledger.js
new file mode 100644
index 0000000..86e4828
--- /dev/null
+++ b/admin-web/src/api/stock/ledger.js
@@ -0,0 +1,11 @@
+import request from '@/utils/request';
+
+// 鍗曟嵁鏂板
+export function doExport(params) {
+ return request({
+ url: '/pc/fin/warehouse/ledger/getListExport',
+ responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+ method: 'post',
+ params,
+ });
+}
diff --git a/admin-web/src/components/myTable/myTableV2.vue b/admin-web/src/components/myTable/myTableV2.vue
index 5857918..6afb0f1 100644
--- a/admin-web/src/components/myTable/myTableV2.vue
+++ b/admin-web/src/components/myTable/myTableV2.vue
@@ -628,6 +628,8 @@
color: #303133;
font-weight: 700;
margin-top: 10px;
+ display: flex;
+ justify-content: flex-end;
}
.el-radio {
margin-right: 10px;
diff --git a/admin-web/src/styles/store.scss b/admin-web/src/styles/store.scss
index 3227b22..bc1f7ec 100644
--- a/admin-web/src/styles/store.scss
+++ b/admin-web/src/styles/store.scss
@@ -1,127 +1,127 @@
.stock-container {
- .ml-20 {
- margin-left: 20px;
- }
- .card,.list-item {
- display: flex;
- flex-wrap: wrap;
- margin: 0px !important;
+ .ml-20 {
+ margin-left: 20px;
+ }
+ .card,
+ .list-item {
+ display: flex;
+ flex-wrap: wrap;
+ margin: 0px !important;
+ width: 100%;
+ min-height: 100%;
+ .cm-item {
width: 100%;
- min-height: 100%;
- .cm-item {
- width: 100%;
- }
- .cm-item .el-card__body {
- padding-bottom: 5px;
- }
}
- .card-data {
- width: 100%;
- position: relative;
- margin-top: 8px;
- .card-container {
- .card-header {
- height: 48px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- background: #f3f9fe;
- padding: 0 32px 0 15px;
- box-sizing: border-box;
+ .cm-item .el-card__body {
+ padding-bottom: 5px;
+ }
+ }
+ .card-data {
+ width: 100%;
+ position: relative;
+ margin-top: 8px;
+ .card-container {
+ .card-header {
+ height: 48px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background: #f3f9fe;
+ padding: 0 32px 0 15px;
+ box-sizing: border-box;
+ }
+ .card-header-left {
+ display: flex;
+ align-items: center;
+ color: #999999;
+ font-family: 'Microsoft YaHei UI';
+ font-size: 18px;
+ font-weight: 700;
+ .value {
+ color: #3d3d3d;
}
- .card-header-left {
- display: flex;
- align-items: center;
+
+ .states {
+ width: 54px;
+ height: 22px;
+ line-height: 22px;
+ text-align: center;
+ border-radius: 4px;
+ border: 1px solid #f9675b99;
+ background: rgba($color: #f9675b99, $alpha: 0.1);
+ font-family: 'Microsoft YaHei';
+ color: #f9675b;
+ font-size: 13px;
+ font-style: normal;
+ font-weight: 400;
+ margin-left: 8px;
+ }
+ .states-success {
+ border: 1px solid #39ad6199;
+ background: rgba($color: #39ad6199, $alpha: 0.1);
+ color: #39ad61;
+ }
+ .states-info {
+ border: 1px solid #999999;
+ background: rgba($color: #999999, $alpha: 0.1);
color: #999999;
- font-family: 'Microsoft YaHei UI';
- font-size: 18px;
- font-weight: 700;
- .value {
- color: #3d3d3d;
+ }
+ .states-warning {
+ border: 1px solid #e6a23c;
+ background: rgba($color: #e6a23c, $alpha: 0.1);
+ color: #e6a23c;
+ }
+ }
+ .one-hed {
+ margin-top: 15px;
+ padding: 0 32px 0 15px;
+ box-sizing: border-box;
+ .box {
+ display: inline-block;
+ margin-right: 20px;
+ }
+ .span-two {
+ color: #83919e;
+ font-size: 14px;
+ }
+ }
+ .card-end {
+ font-size: 14px;
+ color: #3d3d3d;
+ margin-top: 15px;
+ display: flex;
+ flex-wrap: wrap;
+ font-family: 'Microsoft YaHei UI';
+ padding: 0 16px;
+ box-sizing: border-box;
+ .item {
+ width: 379px;
+ height: 60px;
+ padding: 8px 12px 9px 12px;
+ box-sizing: border-box;
+ align-items: center;
+ gap: 8px;
+ flex-shrink: 0;
+ background: #f9f9f9;
+ margin-right: 15px;
+ margin-bottom: 15px;
+ &:last-child {
+ margin-right: 0;
}
-
- .states {
- width: 54px;
+ .name {
height: 22px;
line-height: 22px;
- text-align: center;
- border-radius: 4px;
- border: 1px solid #f9675b99;
- background: rgba($color:#f9675b99,$alpha:0.1);
- font-family: 'Microsoft YaHei';
- color: #f9675b;
- font-size: 13px;
- font-style: normal;
- font-weight: 400;
- margin-left: 8px;
}
- .states-success {
- border: 1px solid #39ad6199;
- background: rgba($color:#39ad6199,$alpha:0.1);
- color: #39ad61;
- }
- .states-info {
- border: 1px solid #999999;
- background: rgba($color:#999999,$alpha:0.1);
- color: #999999;
- }
- .states-warning {
- border: 1px solid #e6a23c;
- background: rgba($color:#e6a23c,$alpha:0.1);
- color: #e6a23c;
- }
- }
- .one-hed {
- margin-top: 15px;
- padding: 0 32px 0 15px;
- box-sizing: border-box;
- .box {
- display: inline-block;
- margin-right: 20px;
- }
- .span-two {
- color: #83919e;
- font-size: 14px;
- }
- }
- .card-end {
- font-size: 14px;
- color: #3d3d3d;
- margin-top: 15px;
- display: flex;
- flex-wrap: wrap;
- font-family: 'Microsoft YaHei UI';
- padding: 0 16px;
- box-sizing: border-box;
- .item {
- width: 379px;
- height: 60px;
- padding: 8px 12px 9px 12px;
- box-sizing: border-box;
- align-items: center;
- gap: 8px;
- flex-shrink: 0;
- background: #f9f9f9;
- margin-right: 15px;
- margin-bottom: 15px;
- &:last-child {
- margin-right: 0;
- }
- .name {
- height: 22px;
- line-height: 22px;
- }
- .value-box {
- display: flex;
- .value-box-item {
- margin-right: 20px;
- .label {
- color: #99999999;
- line-height: 22px;
- }
- .value {
- color: #ff3131;
- }
+ .value-box {
+ display: flex;
+ .value-box-item {
+ margin-right: 20px;
+ .label {
+ color: #99999999;
+ line-height: 22px;
+ }
+ .value {
+ color: #ff3131;
}
}
}
@@ -129,73 +129,78 @@
}
}
}
- .no-data{
- margin-top: 100px;
- text-align: center;
- color: #909399;
+ .el-pagination {
+ display: flex;
+ justify-content: flex-end;
}
-
- /*缂栬緫*/
- .stock-edit{
- .main-w {
- width: 88%;
+}
+.no-data {
+ margin-top: 100px;
+ text-align: center;
+ color: #909399;
+}
+
+/*缂栬緫*/
+.stock-edit {
+ .main-w {
+ width: 88%;
+ }
+ .goods-card {
+ position: relative;
+ background: #f6f6f6;
+ padding: 20px;
+ box-sizing: border-box;
+ border-radius: 4px;
+ background-color: #f9f9f9;
+ margin-top: 20px;
+ &:nth-of-type(1) {
+ margin-top: 0;
}
- .goods-card {
- position: relative;
- background: #f6f6f6;
- padding: 20px;
- box-sizing: border-box;
- border-radius: 4px;
- background-color: #f9f9f9;
- margin-top: 20px;
- &:nth-of-type(1) {
- margin-top: 0;
- }
- }
- .btn-group {
- width: 80px;
- position: absolute;
- right: -94px;
- bottom: 0px;
- .el-button {
- margin-bottom: 10px;
- margin-left: 0;
- display: block;
- &:last-child {
- margin-bottom: 0;
- }
+ }
+ .btn-group {
+ width: 80px;
+ position: absolute;
+ right: -94px;
+ bottom: 0px;
+ .el-button {
+ margin-bottom: 10px;
+ margin-left: 0;
+ display: block;
+ &:last-child {
+ margin-bottom: 0;
}
}
}
-
- /*璇︽儏*/
- .stock-detail{
- .img-row {
- display: flex;
- align-content: center;
+}
+
+/*璇︽儏*/
+.stock-detail {
+ .img-row {
+ display: flex;
+ align-content: center;
+ }
+ .img-box {
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ background: #f9f9f9;
+ margin-right: 20px;
+ cursor: pointer;
+ .img {
+ width: 100%;
}
- .img-box {
- display: inline-block;
- width: 80px;
- height: 80px;
- background: #f9f9f9;
- margin-right: 20px;
- cursor: pointer;
- .img {
- width: 100%;
- }
+ }
+
+ .goods-card {
+ position: relative;
+ background: #f6f6f6;
+ padding: 20px;
+ box-sizing: border-box;
+ border-radius: 4px;
+ background-color: #f9f9f9;
+ margin-top: 20px;
+ &:nth-of-type(1) {
+ margin-top: 0;
}
-
- .goods-card {
- position: relative;
- background: #f6f6f6;
- padding: 20px;
- box-sizing: border-box;
- border-radius: 4px;
- background-color: #f9f9f9;
- margin-top: 20px;
- &:nth-of-type(1) {
- margin-top: 0;
- }
- }
- }
\ No newline at end of file
+ }
+}
diff --git a/admin-web/src/utils/settingIplatform.js b/admin-web/src/utils/settingIplatform.js
index 265c004..366a244 100644
--- a/admin-web/src/utils/settingIplatform.js
+++ b/admin-web/src/utils/settingIplatform.js
@@ -14,8 +14,8 @@
// apiBaseURL: 'http://116.198.39.83:8082/progress', // 姝e紡
// apiBaseURL: 'http://172.16.60.90:8082/progress',//寮�鍙�
// apiBaseURL: 'http://172.16.60.175:8083/lowConsum',//寮�鍙�
- apiBaseURL: 'http://172.16.20.10:8083/lowConsum',//寮�鍙�
- // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
+ // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
+ apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
// apiBaseURL: 'https://jmy.jinmingyuan.com/progress',// 娴嬭瘯,
// socket杩炴帴
wsSocketUrl: VUE_APP_WS_URL,
diff --git a/admin-web/src/views/departmentitem/itemret/retDetails/index.vue b/admin-web/src/views/departmentitem/itemret/retDetails/index.vue
index 2936cd9..6269d01 100644
--- a/admin-web/src/views/departmentitem/itemret/retDetails/index.vue
+++ b/admin-web/src/views/departmentitem/itemret/retDetails/index.vue
@@ -13,16 +13,9 @@
<my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
</el-col>
</el-row>
- <!--娣诲姞/缂栬緫寮圭獥-->
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
</el-card>
</el-container>
</el-container>
- <my-import
- :import-setting="importSetting"
- :dialog-show="importSetting.dialogShow"
- :dialog-title="importSetting.dialogTitle"
- />
</div>
</template>
@@ -30,14 +23,12 @@
import MyTableV2 from "@/components/myTable/myTableV2";
import MyButton from "@/components/myButton/myButton";
import SettingIplatform from '@/utils/settingIplatform';
-import edit from './edit'
import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
import {getBaseUrl} from '@/utils/base';
export default {
name: "index",
- components: {MyButton, MyTableV2, edit, myImport},
+ components: {MyButton, MyTableV2},
data() {
return {
// 鎼滅储妗�
@@ -90,24 +81,6 @@
userPhone: null,
status: 1
},
- // 瀵煎叆
- importSetting: {
- dialogTitle: '瀵煎叆',
- dialogShow: false,
- fileSettings: {
- data: {},
- uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
- accept: '.xls', // 鏍煎紡
- type: 'text', // 鍥炴樉褰㈠紡
- loading: false // 瀵煎叆鏁堟灉
- },
- /* 妯℃澘涓嬭浇 */
- templateSettings: {
- templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
- templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
- },
- onSuccess: null
- },
editSetting: {
title: '',
id: '',
@@ -133,13 +106,12 @@
},
// 鍒椾俊鎭�
columns: [
- {title: '绫诲瀷', field: 'name', align: 'left',},
{title: '鍗曞彿', field: 'code', align: 'center'},
{title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
{title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
- {title: '鍑哄叆搴撴暟閲�', field: 'summary', align: 'left',},
- {title: '閲戦', field: 'summary', align: 'left',},
+ {title: '閫�杩樻暟閲�', field: 'summary', align: 'left',},
{title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
+ {title: '閮ㄩ棬', field: 'summary', align: 'left',},
{title: '鍒涘缓浜�', field: 'summary', align: 'left',},
{title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
],
@@ -170,94 +142,13 @@
}
},
created() {
- // 鑾峰彇鏈烘瀯鏍�
- this.initTreeData()
},
methods: {
- //瀵煎叆
- importOrg() {
- this.importSetting.dialogShow = true
- this.importSetting.onSuccess = (response, callBack) => {
- if (response.code===1){
- this.$message.success(response.msg)
- this.search(1)
- }else{
- this.$message.warning(response.msg)
- }
- callBack()
- }
- },
- // 宸︿晶鏍戝垵濮嬪寲
- initTreeData() {
- finsystenant.getTree().then(res => {
- const content = res || []
- this.treeDataList.splice(0, this.treeDataList.length)
- this.treeDataList = content
- if (content.length > 0) {
- this.importSetting.fileSettings.data = {pid: content[0].id}
- }
- })
- },
- updState(row) {
- let vm = this
- let text = row.status == 0 ? "鍚敤" : "绂佺敤";
- vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
- let params = Object.assign({}, row)
- params.status = row.status == 1 ? 0 : 1
- finsystenant.edit(params).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- vm.$modal.msgSuccess(text + "鎴愬姛");
- vm.search()
- }
- })
- })
- },
- del(row) {
- this.$modal
- .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
- .then(function () {
- finsystenant.del({id: row.id}).then((res) => {
- });
- })
- .then((res) => {
- this.$message.success('鍒犻櫎鎴愬姛锛�');
- this.search()
- })
- .catch(() => {
- });
- },
- showAdd() {
- // if (!this.editSetting.orgId) {
- // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
- // } else {
- this.editSetting.id = null;
- this.editSetting.info = null;
- this.editSetting.title = '鏂板';
- this.editSetting.show = true;
- // }
- },
showAudit(row) {
this.editSetting.id = row.id;
this.editSetting.info = JSON.stringify(row);
this.editSetting.title = '缂栬緫';
this.editSetting.show = true;
- },
- nodeClick(param) {
- param = param || {}
- this.p = Object.assign({}, {
- id: param.id,
- name: param.name
- })
- if (this.p.id != undefined && this.p.id != null) {
- this.filterFrom.tenantId = this.p.id
- this.editSetting.orgId = this.p.id
- } else {
- this.filterFrom.tenantId = null
- this.editSetting.orgId = null
- }
- this.importSetting.fileSettings.data = {pid: param.id}
- this.search(1)
},
// 鏌ヨtable鍒楄〃
search(pageNum) {
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue b/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue
new file mode 100644
index 0000000..f8f428d
--- /dev/null
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/detail.vue
@@ -0,0 +1,120 @@
+<template>
+ <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'">
+ <el-row :gutter="20">
+ <el-col :span="8">
+ <span>閫�鍥炲崟鍙凤細</span>
+ <span>{{ detail.businessFormCode }}</span>
+ </el-col>
+ <el-col :span="8">
+ <span>閫�鍥炰粨搴擄細</span>
+ <span>{{ detail.warehouseName }}</span>
+ </el-col>
+ <el-col :span="8">
+ <span>鎵�灞炴満鏋勶細</span>
+ <span>{{ detail.agencyName }}</span>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="8">
+ <span>鍒涘缓浜猴細</span>
+ <span>{{ detail.operatorName }}</span>
+ </el-col>
+ <el-col :span="8">
+ <span>閫�鍥炴椂闂达細</span>
+ <span>{{ detail.dealTime | formatTime }}</span>
+ </el-col>
+ </el-row>
+ <el-row v-if="detail.procureDoc" :gutter="20" style="margin-top: 20px">
+ <el-col class="img-row" :span="24">
+ <span>閫�鍥炴墜缁細</span>
+ <div class="img-box"></div>
+ </el-col>
+ </el-row>
+ <div class="goods-card" v-for="(goodsItem, goodsIndex) in detail.fromOutputGoods" :key="goodsIndex">
+ <el-row :gutter="20">
+ <el-col :span="8">
+ <span>鐗╁搧鍒嗙被锛�</span>
+ <span>{{ goodsItem.categoryName }}</span>
+ </el-col>
+ <el-col :span="8">
+ <span>鐗╁搧鍚嶇О锛�</span>
+ <span>{{ goodsItem.goodsName }}</span>
+ </el-col>
+ </el-row>
+ <el-table :data="goodsItem.models" :stripe="true" style="margin-top: 20px">
+ <el-table-column prop="baseGoodsModelsName" label="瑙勬牸鍨嬪彿" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.baseGoodsModelsName }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鍗曚綅" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.unit }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="counts" label="閫�鍥炴暟閲�" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.counts }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="counts" label="閲戦" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.price * scope.row.counts | formatPrice}}
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </win-md>
+</template>
+<script>
+import { outputDetail } from '@/api/stock/accessStock';
+import winMd from '@/components/win/win-md';
+import * as DateFormatter from '@/utils/DateFormatter';
+
+export default {
+ components: { winMd },
+
+ props: {
+ setting: {
+ type: Object,
+ default: () => {},
+ },
+ },
+ data() {
+ return {
+ detail: {
+ categoryName: '',
+ businessFormCode: '',
+ goodsName: '',
+ agencyId: '',
+ agencyName: '',
+ states: '',
+ createName: '',
+ fromOutputGoods: [],
+ },
+ };
+ },
+ filters: {
+ formatTime(time) {
+ if (!time) return;
+ return DateFormatter.LongToDateTime(time);
+ },
+ formatPrice(price) {
+ return price / 100
+ }
+ },
+ created() {
+ outputDetail({ id: this.setting.id }).then((res) => {
+ this.detail = res;
+ });
+ },
+ methods: {
+ close() {
+ this.$emit('close')
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+@import url(../../../../styles/store.scss);
+</style>
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
new file mode 100644
index 0000000..a4aee1f
--- /dev/null
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/edit.vue
@@ -0,0 +1,436 @@
+<template>
+ <win-md class="stock-edit" title="鐗╁搧閫�鍥�" @close="close" :width="'800px'">
+ <el-form class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px">
+ <div class="main-w">
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="12">
+ <el-form-item label="閮ㄩ棬" prop="warehouseId">
+ <el-input v-model="formData.departmentName" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�鍥炰汉" prop="createName">
+ <el-input v-model="formData.createName" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="閫�鍥炴椂闂�" prop="dealTime">
+ <el-date-picker
+ v-model="formData.dealTime"
+ type="datetime"
+ value="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyyMMddHHmmss"
+ placeholder="璇烽�夋嫨鏃ユ湡"
+ style="width: 100%"
+ >
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24" class="headerHeight">
+ <el-col :span="24">
+ <el-form-item label="閫�鍥炴墜缁�" prop="procureDoc">
+ <upload ref="uploadRef" :settings="uploadSettings" @on-change="uploadChange"></upload>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <div class="goods-card" v-for="(goodsItem, goodsIndex) in formData.goods" :key="goodsIndex">
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item
+ label="鐗╁搧鍒嗙被"
+ :prop="`goods[${goodsIndex}].baseCategoryIds`"
+ :rules="{
+ required: true,
+ message: '璇烽�夋嫨',
+ trigger: 'change',
+ }"
+ >
+ <el-cascader
+ v-model="goodsItem.baseCategoryIds"
+ :options="categoryOptions"
+ :props="{ value: 'id' }"
+ @change="categoryChange($event, goodsIndex)"
+ style="width: 100%"
+ ></el-cascader>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item
+ label="鐗╁搧鍚嶇О"
+ :prop="`goods[${goodsIndex}].baseGoodsTemplateId`"
+ :rules="rules.baseGoodsTemplateId"
+ >
+ <el-select
+ v-model="goodsItem.baseGoodsTemplateId"
+ placeholder="璇峰厛鎷╃墿鍝佸垎绫�"
+ filterable
+ :disabled="!goodsItem.baseCategoryId"
+ style="width: 100%"
+ @change="goodsTemplateChange($event, goodsIndex)"
+ >
+ <el-option
+ v-for="item in goodsItem.goodsOptions"
+ :key="item.id"
+ :label="item.goodsName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="24">
+ <el-col :span="12">
+ <el-form-item label="閫夋嫨鍒嗗彂鍗�" :prop="`goods[${goodsIndex}].modelsIds`">
+ <el-input v-if="!goodsItem.baseGoodsTemplateId" placeholder="璇峰厛鎷╃墿鍝佸悕绉�" readonly suffix-icon="el-icon-arrow-down" class="cursor-p"></el-input>
+ <div v-else @click="fenfaSetting.show=true">
+ <el-input placeholder="璇烽�夋嫨" readonly suffix-icon="el-icon-arrow-down" class="cursor-p"></el-input>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-table :data="goodsItem.models" :stripe="true">
+ <el-table-column prop="baseGoodsModelsId" label="瑙勬牸鍨嬪彿" align="center">
+ <template slot-scope="scope">
+ {{ getGoodsModelsName(scope.row.baseGoodsModelsId) }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鍗曚綅" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.unit }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="price" label="鐜版湁搴撳瓨" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.worehouseCount }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="counts" label="閫�鍥炴暟閲�" align="center">
+ <template slot-scope="scope">
+ <el-form-item
+ label-width="0"
+ style="margin-bottom: 0"
+ :prop="`goods[${goodsIndex}].models[${scope.$index}].counts`"
+ :rules="rules.counts"
+ >
+ <el-input
+ type="number"
+ v-model="scope.row.counts"
+ @change="countsChange($event, goodsIndex, scope.$index)"
+ ></el-input>
+ </el-form-item>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="btn-group">
+ <el-button
+ v-if="formData.goods.length > 1"
+ name="绉婚櫎"
+ type="danger"
+ plain
+ size="mini"
+ @click="removeGoods(goodsIndex)"
+ >绉婚櫎</el-button
+ >
+ <el-button
+ v-if="formData.goods.length - 1 == goodsIndex"
+ name="鏂板鐗╁搧"
+ type="primary"
+ plain
+ size="mini"
+ @click="addGoods"
+ >鏂板鐗╁搧</el-button
+ >
+ </div>
+ </div>
+ </div>
+ </el-form>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="close" />
+ <my-button name="淇濆瓨" site="form" @click="handleSubmit" />
+ </div>
+ <div v-if="fenfaSetting.show">
+ <win-sm title="閫夋嫨鍒嗗彂鍗�" @close="fenfaSetting.show=false" :width="'800px'">
+ <el-table :data="fenfaData">
+ <el-table-column type="selection" width="55"> </el-table-column>
+ <el-table-column label="鍒嗗彂鍗曞彿" prop="businessFormCode"></el-table-column>
+ <el-table-column label="鐗╁搧鍚嶇О" prop="modelName"></el-table-column>
+ <el-table-column label="鍒嗗彂鏁伴噺" prop="fenfaCount"></el-table-column>
+ <el-table-column label="鍓╀綑鏁伴噺" prop="count"></el-table-column>
+ <el-table-column label="鍒嗗彂鏃堕棿" prop="time"></el-table-column>
+ </el-table>
+ <div slot="footer" align="center" class="dialog-footer">
+ <my-button name="鍙栨秷" site="form" @click="fenfaSetting.show=false" />
+ <my-button name="纭畾" site="form" @click="handleConfirm" />
+ </div>
+ </win-sm>
+ </div>
+ </win-md>
+</template>
+<script>
+import {
+ goodsTemplate,
+ goodsModel,
+ selectTenantWarehouse,
+ warehouseSelectNumber,
+} from '@/api/baseSetting/finsystenant';
+import { outputAdd } from '@/api/stock/accessStock';
+import { getTree } from '@/api/foudation/classification';
+import MyButton from '@/components/myButton/myButton';
+import winMd from '@/components/win/win-md';
+import winSm from '@/components/win/win-sm';
+import upload from '@/components/upload/index';
+import { getUploadUrl } from '@/utils/base';
+import { mapGetters } from 'vuex';
+
+export default {
+ components: { MyButton, winMd, winSm, upload },
+ props: {
+ setting: {
+ type: Object,
+ default: () => {},
+ },
+ },
+ data() {
+ // 鑷畾涔夋牎楠�
+ // 鐗╁搧閲嶅鏍¢獙
+ var checkGoodsTemplateId = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('璇烽�夋嫨'));
+ }
+ let temp = this.formData.goods.filter((v) => v.baseGoodsTemplateId == value);
+ if (!temp || temp.length != 1) {
+ return callback(new Error('宸查�夎繃姝ょ墿鍝�'));
+ }
+ callback();
+ };
+ return {
+ loading: false,
+ warehouseOptions: [], // 閫�鍥炰粨搴撳垪琛�
+ categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
+ modelList: [], //鍨嬪彿鍒楄〃
+ fenfaSetting: {
+ show: false,
+ id: '',
+ },
+ fenfaData:[],
+ formData: {
+ warehouseId: '', // 閫�鍥炰粨搴搃d
+ dealTime: '', // 閫�鍥炴椂闂�
+ procureDoc: '',
+ goods: [],
+ },
+ goodsItem: {
+ baseCategoryIds: '', // 鍒嗙被缂栧彿鏁扮粍
+ baseCategoryId: '', // 鍒嗙被缂栧彿
+ baseGoodsTemplateId: '', // 鐗╁搧妯$増缂栧彿
+ goodsTemplateName: '', // 鐗╁搧妯$増鍚嶇О
+ goodsOptions: [], // 鐗╁搧鍒楄〃select
+ modelsOptions: [], //瑙勬牸鍨嬪彿select
+ models: [], // 鐗╁搧鍚嶇О
+ modelsIds: [], //瑙勬牸鍨嬪彿
+ },
+ modelsItem: {
+ baseGoodsModelsId: '', // 瑙勬牸鍨嬪彿缂栧彿
+ worehouseCount: 0,
+ counts: null, // 鎿嶄綔鏁伴噺
+ unit: null, //鍗曚綅
+ },
+ rules: {
+ warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+ dealTime: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+ buyType: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+
+ baseCategoryIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+ baseGoodsTemplateId: [{ validator: checkGoodsTemplateId, trigger: ['blur', 'change'] }],
+ modelsIds: [{ required: true, message: '璇烽�夋嫨', trigger: 'change' }],
+ counts: [{ required: true, message: '璇疯緭鍏�', trigger: 'change' }],
+ },
+
+ uploadSettings: {
+ title: '涓婁紶',
+ max: 20, // 鏈�澶уぇ灏忥紝鍗曚綅M
+ num: 10, // 鏀寔涓婁紶鍥剧墖涓暟
+ accept: '.jpg,.png', // 闄愬埗鏍煎紡
+ tip: '', // 鎻愮ず 榛樿锛歚鍙兘涓婁紶${this.defaultSettings.num}涓�${this.defaultSettings.accept}鏂囦欢锛屼笖涓嶈秴杩�${this.defaultSettings.max}kb`
+ uploadUrl: getUploadUrl(), // 涓婁紶璺緞
+ multiple: true, // 鏄惁鏀寔鎵归噺涓婁紶
+ disabled: false, // 鏄惁绂佺敤
+ type: 'picture', // text/picture
+ },
+ };
+ },
+ computed: {
+ ...mapGetters(['userInfo']),
+ },
+ created() {
+ this.init();
+ },
+ methods: {
+ async init() {
+ this.getWarehouseList();
+ this.getgoodsTemplate();
+ // 鑾峰彇鐗╁搧鍒嗙被鍒楄〃
+ const treeRes = await getTree();
+ this.categoryOptions = this.removeEmptyChildren(treeRes);
+ this.formData.departmentName = this.userInfo.sysDeptName;
+ this.formData.createName = this.userInfo.userName;
+ },
+
+ // 鑾峰彇閫�鍥炰粨搴撳垪琛�
+ getWarehouseList() {
+ selectTenantWarehouse({ agencyId: this.userInfo.tenantId })
+ .then((res) => {
+ this.warehouseOptions = res;
+ if (res.length) {
+ this.formData.goods.push(JSON.parse(JSON.stringify(this.goodsItem)));
+ }
+ if (this.warehouseOptions.length && !this.formData.warehouseId) {
+ // 榛樿閫変腑绗竴涓粨搴�
+ this.formData.warehouseId = this.warehouseOptions[0].id;
+ }
+ })
+ .catch((err) => {
+ console.log('err', err);
+ });
+ },
+
+ removeEmptyChildren(arr) {
+ arr.forEach((item) => {
+ if (!item.children || !item.children.length) {
+ delete item.children;
+ } else {
+ this.removeEmptyChildren(item.children);
+ }
+ });
+ return arr;
+ },
+
+ // 鑾峰彇鐗╁搧鍚嶇О鍒楄〃
+ getgoodsTemplate(id, index) {
+ goodsTemplate({ categoryId: id || '' }).then((res) => {
+ if (index || index == 0) {
+ this.$set(this.formData.goods[index], 'goodsOptions', res);
+ } else {
+ this.goodsTemplatelAll = res;
+ }
+ });
+ },
+
+ // 鏍规嵁鐗╁搧鍚嶇Оid鑾峰彇鍚嶅瓧
+ getGoodsTemplateName(id) {
+ let item = this.goodsTemplatelAll.find((v) => v.id == id);
+ if (item) {
+ return item.goodsName;
+ }
+ return;
+ },
+
+ // 鏍规嵁瑙勬牸鍨嬪彿id鑾峰彇鍚嶅瓧
+ getGoodsModelsName(id) {
+ let item = this.goodsModelAll.find((v) => v.id == id);
+ if (item) {
+ return item.modelName;
+ }
+ return;
+ },
+
+ // 鐗╁搧鍒嗙被閫夋嫨
+ categoryChange(e, index) {
+ this.formData.goods[index].goodsOptions = [];
+ this.formData.goods[index].baseGoodsTemplateId = '';
+ this.formData.goods[index].goodsTemplateName = '';
+ this.formData.goods[index].modelsOptions = [];
+ this.formData.goods[index].modelsIds = [];
+ this.formData.goods[index].models = [];
+
+ this.formData.goods[index].baseCategoryId = e[e.length - 1];
+ // 鏍规嵁閫変腑鍒嗙被璇锋眰鐗╁搧鍚嶇О鍒楄〃
+ this.getgoodsTemplate(e[e.length - 1], index);
+ },
+
+ // 鐗╁搧鍚嶇О鍒楄〃閫夋嫨
+ goodsTemplateChange(e, index) {
+ this.formData.goods[index].modelsOptions = [];
+ this.formData.goods[index].modelsIds = [];
+ this.formData.goods[index].models = [];
+
+ this.formData.goods[index].goodsTemplateName = this.getGoodsTemplateName(e);
+ },
+
+ // 涓婁紶
+ uploadChange() {
+ let arr = this.$refs.uploadRef.fileList;
+ this.formData.procureDoc = JSON.stringify(arr);
+ },
+
+ // 鐐瑰嚮鏂板鐗╁搧
+ addGoods() {
+ this.formData.goods.push(JSON.parse(JSON.stringify(this.goodsItem)));
+ },
+
+ // 鐐瑰嚮绉婚櫎
+ removeGoods(index) {
+ this.formData.goods.splice(index, 1);
+ },
+
+ // 閫�鍥炴暟閲忔牎楠�
+ countsChange(e, goodsIndex, index) {
+ const curItem = this.formData.goods[goodsIndex].models[index];
+ const worehouseCount = curItem.worehouseCount;
+ if (e == 0) {
+ this.$message.warning('鏁伴涓嶈兘涓�0');
+ curItem.counts = null;
+ }
+ if (e > worehouseCount) {
+ this.$message.warning('鏁伴瓒呰繃鐜版湁搴撳瓨');
+ curItem.counts = worehouseCount > 0 ? worehouseCount : null;
+ }
+ },
+
+ handleConfirm(){
+
+ },
+
+ // 鎻愪氦
+ handleSubmit() {
+ this.$refs['ruleForm'].validate((valid) => {
+ if (valid) {
+ console.log('this.formData', this.formData);
+ outputAdd(this.formData)
+ .then((res) => {
+ this.$message.success('淇濆瓨鎴愬姛锛�');
+ this.close();
+ this.$emit('search');
+ })
+ .catch((err) => {
+ console.log('edit err', err);
+ this.$message.error('淇濆瓨澶辫触');
+ });
+ } else {
+ this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
+ }
+ });
+ },
+
+ close() {
+ this.formData = {
+ warehouseId: '', // 閫�鍥炰粨搴搃d
+ dealTime: '', // 閫�鍥炴椂闂�
+ goods: [],
+ };
+ this.$emit('close');
+ },
+ },
+};
+</script>
+<style scoped lang="scss">
+@import url(../../../../styles/store.scss);
+.cursor-p {
+ ::v-deep {
+ .el-input__inner {
+ cursor: pointer;
+ }
+ }
+}
+</style>
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
index ea1d5b0..9c9e512 100644
--- a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
@@ -1,449 +1,157 @@
<template>
- <div class="app-container">
+ <div class="app-container stock-container">
<el-container>
- <el-container>
- <el-card class="box-card" style="width: 100%" shadow="never">
- <!--鎼滅储鏉′欢-->
- <div class="filter-container">
- <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
- </div>
- <el-row style="margin-top: 15px">
- <el-col>
- <!--鍒楄〃-->
- <my-button name="鏂板" @click="addtable" site="form" />
- <div :style="{'overflow-y': 'auto', height:`${clientHeight - 320}px`}">
- <el-row class="card"
- :gutter="5">
- <el-col v-for="(item, index) in proData" :key="index" class="cm-item">
- <el-card class="card-data">
- <div class="card-container">
- <div class="hed-one">鍑哄簱鍗曞彿锛歿{ item.order_no }}</div>
- <div class="one-hed">
- <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.customer_name }}</div>
- <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.customer_name }}</div>
- <div class="box"><span class="span-two">鍑哄簱鏃堕棿锛�</span>{{ item.customer_name }}</div>
- </div>
- <div class="card-end">
- <div v-for="(just, index) in item.data" class="two-end">
- <div class="item"><span>{{ just.order_no }}锛�</span>{{ just.customer_name }}</div>
- </div>
- </div>
- </div>
- <div class="card-but">
- <my-button name="鏌ョ湅璇︽儏" site="form" />
- <my-button name="瀵煎嚭鍑哄簱鍗�" site="form" />
- </div>
- </el-card>
- </el-col>
- </el-row>
- </div>
- <el-pagination
- :small="false"
- :current-page="1"
- :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
- :page-size="10"
- layout="total, sizes, prev, pager, next, jumper"
- :total="0"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- />
- </el-col>
- </el-row>
- <!--娣诲姞/缂栬緫寮圭獥-->
- <el-dialog title="鏂板鍑哄簱" :close-on-click-modal="false" :visible.sync="adddialog" width="60%" >
- <el-form ref="ruleForm" :model="formData" class="demo-ruleForm" label-width="100px">
- <el-row :gutter="24" class="headerHeight">
- <el-col :span="12">
- <el-form-item label="浠撳簱鍚嶇О" prop="name">
- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠撳簱鍚嶇О" prop="name">
- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" class="headerHeight">
- <el-col :span="24">
- <el-form-item label="鍑哄簱鎵嬬画" prop="name">
- 浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢
- </el-form-item>
- </el-col>
- </el-row>
- <div style="position: relative;">
- <div style="background-color: #F9F9F9;width: 90%;">
- <el-row :gutter="24" class="">
- <el-col :span="12">
- <el-form-item label="浠撳簱鍚嶇О" prop="name">
- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠撳簱鍚嶇О" prop="name">
- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" class="">
- <el-col :span="12">
- <el-form-item label="浠撳簱鍚嶇О" prop="name">
- <el-input v-model="formData.name" clearable maxlength="20" show-word-limit style="width: 100%"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-table :data="formData.tableData" height="100%" :stripe="true">
- <el-table-column prop="projectName" label="瑙勬牸鍨嬪彿" align="center"> </el-table-column>
- <el-table-column prop="time1" label="鍗曚綅" align="center"> </el-table-column>
- <el-table-column prop="unit" label="鐜版湁搴撳瓨" align="center"> </el-table-column>
- <el-table-column prop="time2" label="鍑哄簱鏁伴噺" align="center"> </el-table-column>
- </el-table>
- </div>
- <div style="position: absolute;right: 0;top: 152px;">
- <my-button style="display: block;margin-left: 10px;margin-bottom: 5px;" name="绉婚櫎" site="form"/>
- <my-button name="鏂板鐗╁搧" site="form"/>
- </div>
- </div>
- </el-form>
- <div slot="footer" align="center" class="dialog-footer">
- <my-button name="纭畾" site="form" />
- <my-button name="鍙栨秷" site="form" @click="adddialog = false"/>
+ <el-card class="box-card" style="width: 100%" shadow="never">
+ <!--鎼滅储鏉′欢-->
+ <div class="filter-container">
+ <my-search ref="searchBar" :items="items" @search="fifterForm"></my-search>
+ </div>
+ <el-row style="margin-top: 15px">
+ <el-col>
+ <!--鍒楄〃-->
+ <div class="table-tool-bar" style="margin-bottom: 15px;">
+ <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
</div>
- </el-dialog>
- </el-card>
- </el-container>
+ <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 320}px` }" v-loading="loading">
+ <el-row v-if="list.length" class="card" :gutter="5">
+ <el-col v-for="(item, index) in list" :key="index" class="cm-item">
+ <el-card class="card-data">
+ <div class="card-container">
+ <div class="card-header">
+ <div class="card-header-left">
+ <span>閫�鍥炲崟鍙凤細</span>
+ <span class="value">{{ item.businessFormCode }}</span>
+ </div>
+ <div class="card-header-right">
+ <el-button site="form" type="success" size="mini" @click="handleExport(item)"
+ >瀵煎嚭閫�鍥炲崟</el-button
+ >
+ <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
+ >鏌ョ湅璇︽儏</el-button
+ >
+ </div>
+ </div>
+ <div class="one-hed">
+ <div class="box"><span class="span-two">閮ㄩ棬锛�</span>{{ item.agencyName }}</div>
+ <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div>
+ <div class="box">
+ <span class="span-two">閫�鍥炴椂闂达細</span>{{ item.dealTime | formatTime }}
+ </div>
+ </div>
+ <div class="card-end">
+ <div v-for="(just, index) in item.formOutputTemplateInfoList" :key="index" class="item">
+ <div class="name">{{ just.goodsName }}</div>
+ <div class="value-box">
+ <div class="value-box-item">
+ <span class="label">鏁伴噺锛�</span>
+ <span class="value">{{ just.count }}</span>
+ <span class="unit">{{ just.unit }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ </el-row>
+ <div class="no-data" v-else>鏆傛棤鏁版嵁</div>
+ </div>
+ <el-pagination
+ :small="false"
+ :current-page="pageNum"
+ :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-col>
+ </el-row>
+ </el-card>
</el-container>
- <my-import
- :import-setting="importSetting"
- :dialog-show="importSetting.dialogShow"
- :dialog-title="importSetting.dialogTitle"
- />
+ <!--娣诲姞/缂栬緫寮圭獥-->
+ <edit v-if="editSetting.show" :setting="editSetting" ref="editRef" @close="editSetting.show=false" @search="refreshData"></edit>
+ <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show=false" ref="detailRef"></detail>
</div>
</template>
<script>
-import MyButton from "@/components/myButton/myButton";
-import SettingIplatform from '@/utils/settingIplatform';
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import { outputList } from '@/api/stock/accessStock';
+import MyButton from '@/components/myButton/myButton';
+import myImport from '@/views/components/myImport';
+import edit from './edit';
+import detail from './detail';
+import listPage from '../../../mixins/listPage'
export default {
- name: "index",
- components: {MyButton, myImport},
+ name: 'index',
+ mixins: [listPage],
+ components: { MyButton, myImport, edit, detail },
data() {
return {
-
- adddialog: false,
- formData:{
- tableData:[
- {
- projectName:'555'
- },
- {
- projectName:'444'
- }
- ],
- },
+ list: [],
// 鎼滅储妗�
items: [
{
type: 'text',
- dataIndex: 'name',
- label: '鍑哄簱鍗曞彿',
+ dataIndex: 'businessFormCode',
+ label: '閫�鍥炲崟鍙�',
placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ defaultValue: '',
},
{
type: 'text',
- dataIndex: 'name',
+ dataIndex: 'goodsName',
label: '鐗╁搧鍚嶇О',
placeholder: '鍙ā绯婃悳绱�',
- defaultValue: ''
- },
- {
- type: 'text',
- dataIndex: 'name',
- label: '鍒涘缓浜�',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ defaultValue: '',
},
{
type: 'date-picker',
- dataIndex: 'val1',
- label: '鍑哄簱鏃堕棿',
- defaultValue: ''
+ dataIndex: 'startTime',
+ label: '閫�鍥炴椂闂�',
+ defaultValue: '',
},
{
type: 'date-picker',
- dataIndex: 'val2',
+ dataIndex: 'endTime',
label: '鑷�',
- defaultValue: ''
+ defaultValue: '',
},
- // {
- // type: 'select',
- // dataIndex: 'status',
- // label: '鐘舵��',
- // placeholder: '璇烽�夋嫨',
- // defaultValue: '1',
- // options: [
- // {
- // label: '鍚敤',
- // value: '1'
- // },
- // {
- // label: '绂佺敤',
- // value: '0'
- // }
- // ]
- // }
],
- proData: [
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
-
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
-
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
-
- },
- {
- order_no:'55555',
- customer_name:'666',
- data:[
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'20浠�'
- },
- {
- order_no:'鐭冲嫆鑺鑹茬⒊绮�',
- customer_name:'666'
- },
- ]
-
- }
- ],
- // 鏍戞暟鎹�
- treeDataList: [],
- // 鎼滅储鏉′欢
- filterFrom: {
- tenantId: null,
- userName: null,
- userPhone: null,
- status: 1
- },
- // 瀵煎叆
- importSetting: {
- dialogTitle: '瀵煎叆',
- dialogShow: false,
- fileSettings: {
- data: {},
- uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
- accept: '.xls', // 鏍煎紡
- type: 'text', // 鍥炴樉褰㈠紡
- loading: false // 瀵煎叆鏁堟灉
- },
- /* 妯℃澘涓嬭浇 */
- templateSettings: {
- templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
- templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
- },
- onSuccess: null
- },
- editSetting: {
- title: '',
- id: '',
- orgId: '',
- show: false,
- },
- }
- },
- computed: {
- clientHeight () {
- return document.documentElement.clientHeight
- },
- },
- created() {
+ };
},
methods: {
- handleSizeChange(){},
- handleCurrentChange(){},
- //瀵煎叆
- importOrg() {
- this.importSetting.dialogShow = true
- this.importSetting.onSuccess = (response, callBack) => {
- if (response.code===1){
- this.$message.success(response.msg)
- this.search(1)
- }else{
- this.$message.warning(response.msg)
- }
- callBack()
- }
- },
-
- addtable() {
- this.adddialog = true
- },
- // 鏌ヨtable鍒楄〃
- search(pageNum) {
- if (pageNum != undefined) {
- // this.$refs.myTable.search(pageNum)
- } else {
- // this.$refs.myTable.search()
- }
+ fetchData() {
+ this.loading = true;
+ outputList({
+ pageNum: this.pageNum,
+ pageSize: this.pageSize,
+ ...this.filterFrom,
+ }).then((res) => {
+ this.list = res.datas;
+ this.total = res.totalRows;
+ this.loading = false;
+ });
},
fifterForm(params) {
- console.log(params,'555');
- this.filterFrom = Object.assign(this.filterFrom, params)
- this.search(1)
- }
- }
-}
+ this.filterFrom = Object.assign(this.filterFrom, params);
+ if (this.filterFrom.startTime) {
+ this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
+ }
+ if (this.filterFrom.endTime) {
+ this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
+ }
+ if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) {
+ this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1];
+ }
+ this.search(1);
+ },
+ },
+};
</script>
-<style scoped>
-.card {
- display: flex;
- flex-wrap: wrap;
- margin: 0px !important;
- .cm-item {
- width: 100%;
- }
- .cm-item /deep/ .el-card__body {
- padding: 10px;
- }
-}
-.card-data{
- margin-top: 8px;
- .card-container{
- display: inline-block;
- width: 70%;
- .hed-one{
- color: #2298EE;
- font-size: 18px;
- }
- .one-hed{
- margin-top: 15px;
- .box{
- display: inline-block;
- margin-right: 20px;
- }
- }
- .span-two{
- color: #83919e;
- font-size: 14px;
- }
- .card-end{
- font-size: 14px;
- color: #3d3d3d;
- margin-top: 15px;
- display: flex;
- flex-wrap: wrap;
- .two-end{
- width: calc(33.33% - 20px);
- margin-bottom: 15px;
- }
- }
-
- }
- .card-but{
- display: inline-block;
- }
- .end{
- display: inline-block;
- }
-
-}
-
+<style scoped lang="scss">
+@import url(../../../../styles/store.scss);
</style>
diff --git a/admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue
index 2936cd9..cdc889c 100644
--- a/admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue
+++ b/admin-web/src/views/departmentitem/ledgerquy/itemQuy/index.vue
@@ -13,16 +13,9 @@
<my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
</el-col>
</el-row>
- <!--娣诲姞/缂栬緫寮圭獥-->
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
</el-card>
</el-container>
</el-container>
- <my-import
- :import-setting="importSetting"
- :dialog-show="importSetting.dialogShow"
- :dialog-title="importSetting.dialogTitle"
- />
</div>
</template>
@@ -30,41 +23,32 @@
import MyTableV2 from "@/components/myTable/myTableV2";
import MyButton from "@/components/myButton/myButton";
import SettingIplatform from '@/utils/settingIplatform';
-import edit from './edit'
import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
import {getBaseUrl} from '@/utils/base';
export default {
name: "index",
- components: {MyButton, MyTableV2, edit, myImport},
+ components: {MyButton, MyTableV2,},
data() {
return {
// 鎼滅储妗�
items: [
{
- type: 'text',
- dataIndex: 'name',
- label: '鍗曞彿',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ type: 'cascader',
+ dataIndex: 'agencyId',
+ label: '鏈烘瀯',
+ placeholder: '璇烽�夋嫨',
+ optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+ defaultValue: '',
+ options: [],
},
{
type: 'select',
- dataIndex: 'status',
- label: '绫诲瀷',
+ dataIndex: 'name',
+ label: '閮ㄩ棬',
placeholder: '璇烽�夋嫨',
- defaultValue: '1',
- options: [
- {
- label: '鍚敤',
- value: '1'
- },
- {
- label: '绂佺敤',
- value: '0'
- }
- ]
+ defaultValue: '',
+ options: [],
},
{
type: 'text',
@@ -74,11 +58,20 @@
defaultValue: ''
},
{
- type: 'text',
+ type: 'select',
dataIndex: 'name',
- label: '鍒涘缓浜�',
- placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ label: '鍒嗙被',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '',
+ options: [],
+ },
+ {
+ type: 'select',
+ dataIndex: 'name',
+ label: '绫诲埆',
+ placeholder: '璇烽�夋嫨',
+ defaultValue: '',
+ options: [],
},
],
// 鏍戞暟鎹�
@@ -89,24 +82,6 @@
userName: null,
userPhone: null,
status: 1
- },
- // 瀵煎叆
- importSetting: {
- dialogTitle: '瀵煎叆',
- dialogShow: false,
- fileSettings: {
- data: {},
- uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
- accept: '.xls', // 鏍煎紡
- type: 'text', // 鍥炴樉褰㈠紡
- loading: false // 瀵煎叆鏁堟灉
- },
- /* 妯℃澘涓嬭浇 */
- templateSettings: {
- templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
- templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
- },
- onSuccess: null
},
editSetting: {
title: '',
@@ -133,15 +108,14 @@
},
// 鍒椾俊鎭�
columns: [
- {title: '绫诲瀷', field: 'name', align: 'left',},
- {title: '鍗曞彿', field: 'code', align: 'center'},
- {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
- {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
- {title: '鍑哄叆搴撴暟閲�', field: 'summary', align: 'left',},
- {title: '閲戦', field: 'summary', align: 'left',},
- {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
- {title: '鍒涘缓浜�', field: 'summary', align: 'left',},
- {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
+ {title: '鏈烘瀯', field: 'name', align: 'left',},
+ {title: '閮ㄩ棬', field: 'code', align: 'center'},
+ {title: '鍒嗙被', field: 'lv', align: 'center', },
+ {title: '鎵�灞炵被鍒�', field: 'lv', align: 'center', },
+ {title: '鐗╁搧鍚嶇О', field: 'summary', align: 'left',},
+ {title: '瑙勬牸鍨嬪彿', field: 'summary', align: 'left',},
+ {title: '鍗曚綅', field: 'summary', align: 'left',},
+ {title: '鍦ㄧ敤鏁伴噺', field: 'summary', align: 'left',},
],
// 鎿嶄綔淇℃伅
operation: {
@@ -170,94 +144,13 @@
}
},
created() {
- // 鑾峰彇鏈烘瀯鏍�
- this.initTreeData()
},
methods: {
- //瀵煎叆
- importOrg() {
- this.importSetting.dialogShow = true
- this.importSetting.onSuccess = (response, callBack) => {
- if (response.code===1){
- this.$message.success(response.msg)
- this.search(1)
- }else{
- this.$message.warning(response.msg)
- }
- callBack()
- }
- },
- // 宸︿晶鏍戝垵濮嬪寲
- initTreeData() {
- finsystenant.getTree().then(res => {
- const content = res || []
- this.treeDataList.splice(0, this.treeDataList.length)
- this.treeDataList = content
- if (content.length > 0) {
- this.importSetting.fileSettings.data = {pid: content[0].id}
- }
- })
- },
- updState(row) {
- let vm = this
- let text = row.status == 0 ? "鍚敤" : "绂佺敤";
- vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
- let params = Object.assign({}, row)
- params.status = row.status == 1 ? 0 : 1
- finsystenant.edit(params).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- vm.$modal.msgSuccess(text + "鎴愬姛");
- vm.search()
- }
- })
- })
- },
- del(row) {
- this.$modal
- .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
- .then(function () {
- finsystenant.del({id: row.id}).then((res) => {
- });
- })
- .then((res) => {
- this.$message.success('鍒犻櫎鎴愬姛锛�');
- this.search()
- })
- .catch(() => {
- });
- },
- showAdd() {
- // if (!this.editSetting.orgId) {
- // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
- // } else {
- this.editSetting.id = null;
- this.editSetting.info = null;
- this.editSetting.title = '鏂板';
- this.editSetting.show = true;
- // }
- },
showAudit(row) {
this.editSetting.id = row.id;
this.editSetting.info = JSON.stringify(row);
this.editSetting.title = '缂栬緫';
this.editSetting.show = true;
- },
- nodeClick(param) {
- param = param || {}
- this.p = Object.assign({}, {
- id: param.id,
- name: param.name
- })
- if (this.p.id != undefined && this.p.id != null) {
- this.filterFrom.tenantId = this.p.id
- this.editSetting.orgId = this.p.id
- } else {
- this.filterFrom.tenantId = null
- this.editSetting.orgId = null
- }
- this.importSetting.fileSettings.data = {pid: param.id}
- this.search(1)
},
// 鏌ヨtable鍒楄〃
search(pageNum) {
diff --git a/admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue
index 2936cd9..532bb3f 100644
--- a/admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue
+++ b/admin-web/src/views/departmentitem/ledgerquy/ledQuy/index.vue
@@ -10,44 +10,60 @@
<el-row style="margin-top: 15px">
<el-col>
<!--鍒楄〃-->
- <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
+ <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
</el-col>
</el-row>
- <!--娣诲姞/缂栬緫寮圭獥-->
- <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
</el-card>
</el-container>
</el-container>
- <my-import
- :import-setting="importSetting"
- :dialog-show="importSetting.dialogShow"
- :dialog-title="importSetting.dialogTitle"
- />
</div>
</template>
<script>
-import MyTableV2 from "@/components/myTable/myTableV2";
-import MyButton from "@/components/myButton/myButton";
+import MyTableV2 from '@/components/myTable/myTableV2';
+import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
-import edit from './edit'
-import * as finsystenant from '@/api/baseSetting/finsystenant'
-import myImport from '@/views/components/myImport'
-import {getBaseUrl} from '@/utils/base';
+import * as finsystenant from '@/api/baseSetting/finsystenant';
+import { getBaseUrl } from '@/utils/base';
export default {
- name: "index",
- components: {MyButton, MyTableV2, edit, myImport},
+ name: 'index',
+ components: { MyButton, MyTableV2 },
data() {
return {
// 鎼滅储妗�
items: [
{
+ type: 'cascader',
+ dataIndex: 'agencyId',
+ label: '鏈烘瀯',
+ placeholder: '璇烽�夋嫨',
+ optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+ defaultValue: '',
+ options: [],
+ },
+ {
+ type: 'select',
+ dataIndex: 'name',
+ label: '閮ㄩ棬',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: '',
+ options: [],
+ },
+ {
type: 'text',
dataIndex: 'name',
- label: '鍗曞彿',
+ label: '鐗╁搧鍚嶇О',
placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ defaultValue: '',
+ },
+ {
+ type: 'select',
+ dataIndex: 'name',
+ label: '瑙勬牸鍨嬪彿',
+ placeholder: '璇疯緭鍏�',
+ defaultValue: '',
+ options: [],
},
{
type: 'select',
@@ -58,27 +74,39 @@
options: [
{
label: '鍚敤',
- value: '1'
+ value: '1',
},
{
label: '绂佺敤',
- value: '0'
- }
- ]
+ value: '0',
+ },
+ ],
},
{
type: 'text',
dataIndex: 'name',
- label: '鐗╁搧鍚嶇О',
+ label: '鍗曞彿',
placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ defaultValue: '',
},
{
type: 'text',
dataIndex: 'name',
- label: '鍒涘缓浜�',
+ label: '鎿嶄綔浜�',
placeholder: '璇疯緭鍏�',
- defaultValue: ''
+ defaultValue: '',
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'dealTimeStart',
+ label: '鏃堕棿',
+ defaultValue: '',
+ },
+ {
+ type: 'date-picker',
+ dataIndex: 'dealTimeEnd',
+ label: '鑷�',
+ defaultValue: '',
},
],
// 鏍戞暟鎹�
@@ -88,25 +116,7 @@
tenantId: null,
userName: null,
userPhone: null,
- status: 1
- },
- // 瀵煎叆
- importSetting: {
- dialogTitle: '瀵煎叆',
- dialogShow: false,
- fileSettings: {
- data: {},
- uploadUrl: getBaseUrl()+"/pc/fin/sys/tenant/import", // 涓婁紶鍦板潃
- accept: '.xls', // 鏍煎紡
- type: 'text', // 鍥炴樉褰㈠紡
- loading: false // 瀵煎叆鏁堟灉
- },
- /* 妯℃澘涓嬭浇 */
- templateSettings: {
- templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
- templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate' // 涓嬭浇鍦板潃
- },
- onSuccess: null
+ status: 1,
},
editSetting: {
title: '',
@@ -121,27 +131,37 @@
url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
// 宸ュ叿鏉�
tools: {
- columnsCtrl: {// 鍒楁帶鍒舵寜閽�
- show: false
+ columnsCtrl: {
+ // 鍒楁帶鍒舵寜閽�
+ show: false,
},
- generalExport: {// 閫氱敤瀵煎嚭鎸夐挳
- show: false
+ generalExport: {
+ // 閫氱敤瀵煎嚭鎸夐挳
+ show: false,
},
// 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [
- ]
+ custom: [],
},
// 鍒椾俊鎭�
columns: [
- {title: '绫诲瀷', field: 'name', align: 'left',},
- {title: '鍗曞彿', field: 'code', align: 'center'},
- {title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center', },
- {title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center', },
- {title: '鍑哄叆搴撴暟閲�', field: 'summary', align: 'left',},
- {title: '閲戦', field: 'summary', align: 'left',},
- {title: '鎵�灞炴満鏋�', field: 'summary', align: 'left',},
- {title: '鍒涘缓浜�', field: 'summary', align: 'left',},
- {title: '鎿嶄綔鏃堕棿', field: 'summary', align: 'left',},
+ { title: '鏈烘瀯', field: 'name', align: 'left' },
+ { title: '閮ㄩ棬', field: 'code', align: 'center' },
+ { title: '鐗╁搧鍚嶇О', field: 'lv', align: 'center' },
+ { title: '瑙勬牸鍨嬪彿', field: 'lv', align: 'center' },
+ { title: '绫诲瀷', field: 'summary', align: 'left' },
+ { title: '鍗曞彿', field: 'summary', align: 'left' },
+ { title: '鏁伴噺', field: 'summary', align: 'left' },
+ { title: '鎿嶄綔鍓嶆暟閲�', field: 'summary', align: 'left' },
+ { title: '鎿嶄綔鍚庢暟閲�', field: 'summary', align: 'left' },
+ {
+ title: '鎿嶄綔鏃堕棿',
+ field: 'summary',
+ align: 'left',
+ width: 160,
+ formatter: (row) => {
+ return { value: DateFormatter.LongToDateTime(row.procureTime) };
+ },
+ },
],
// 鎿嶄綔淇℃伅
operation: {
@@ -163,118 +183,34 @@
small: false,
pageNum: 1,
pageSize: 10,
- total: 0
- }
- }
+ total: 0,
+ },
+ },
},
- }
+ };
},
- created() {
- // 鑾峰彇鏈烘瀯鏍�
- this.initTreeData()
- },
+ created() {},
methods: {
- //瀵煎叆
- importOrg() {
- this.importSetting.dialogShow = true
- this.importSetting.onSuccess = (response, callBack) => {
- if (response.code===1){
- this.$message.success(response.msg)
- this.search(1)
- }else{
- this.$message.warning(response.msg)
- }
- callBack()
- }
- },
- // 宸︿晶鏍戝垵濮嬪寲
- initTreeData() {
- finsystenant.getTree().then(res => {
- const content = res || []
- this.treeDataList.splice(0, this.treeDataList.length)
- this.treeDataList = content
- if (content.length > 0) {
- this.importSetting.fileSettings.data = {pid: content[0].id}
- }
- })
- },
- updState(row) {
- let vm = this
- let text = row.status == 0 ? "鍚敤" : "绂佺敤";
- vm.$modal.confirm('纭瑕�' + text + '"' + row.name + '"鍚楋紵').then(function () {
- let params = Object.assign({}, row)
- params.status = row.status == 1 ? 0 : 1
- finsystenant.edit(params).then(res => {
- if (res) {
- row.status = row.status === 1 ? 0 : 1
- vm.$modal.msgSuccess(text + "鎴愬姛");
- vm.search()
- }
- })
- })
- },
- del(row) {
- this.$modal
- .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬満鏋勫悧锛�')
- .then(function () {
- finsystenant.del({id: row.id}).then((res) => {
- });
- })
- .then((res) => {
- this.$message.success('鍒犻櫎鎴愬姛锛�');
- this.search()
- })
- .catch(() => {
- });
- },
- showAdd() {
- // if (!this.editSetting.orgId) {
- // this.$message.warning('璇峰厛閫夋嫨宸︿晶鏈烘瀯')
- // } else {
- this.editSetting.id = null;
- this.editSetting.info = null;
- this.editSetting.title = '鏂板';
- this.editSetting.show = true;
- // }
- },
showAudit(row) {
this.editSetting.id = row.id;
this.editSetting.info = JSON.stringify(row);
this.editSetting.title = '缂栬緫';
this.editSetting.show = true;
},
- nodeClick(param) {
- param = param || {}
- this.p = Object.assign({}, {
- id: param.id,
- name: param.name
- })
- if (this.p.id != undefined && this.p.id != null) {
- this.filterFrom.tenantId = this.p.id
- this.editSetting.orgId = this.p.id
- } else {
- this.filterFrom.tenantId = null
- this.editSetting.orgId = null
- }
- this.importSetting.fileSettings.data = {pid: param.id}
- this.search(1)
- },
// 鏌ヨtable鍒楄〃
search(pageNum) {
if (pageNum != undefined) {
- this.$refs.myTable.search(pageNum)
+ this.$refs.myTable.search(pageNum);
} else {
- this.$refs.myTable.search()
+ this.$refs.myTable.search();
}
},
fifterForm(params) {
- this.filterFrom = Object.assign(this.filterFrom, params)
- this.search(1)
- }
- }
-}
+ this.filterFrom = Object.assign(this.filterFrom, params);
+ this.search(1);
+ },
+ },
+};
</script>
-<style scoped>
-
-</style>
+<style scoped></style>
diff --git a/admin-web/src/views/foundation/store/person.vue b/admin-web/src/views/foundation/store/person.vue
index 1a4e5dc..9c153c4 100644
--- a/admin-web/src/views/foundation/store/person.vue
+++ b/admin-web/src/views/foundation/store/person.vue
@@ -1,5 +1,5 @@
<template>
- <win-md :title="setting.title" @close="close" :width="'800px'">
+ <win-md :title="setting.title" @close="close" :width="'800px'" :loading="loading">
<div class="section-container">
<div class="section-left">
<div class="header-row"><span class="title">閫夋嫨浜哄憳锛�</span></div>
@@ -52,6 +52,8 @@
},
data() {
return {
+ loading:true,
+ loadingText:'鍔犺浇涓�',
selectdSections: [],
treeData: [],
formData: {},
@@ -64,15 +66,10 @@
},
computed: {
checkedKeys() {
- console.log(
- 1111,
- this.selectdSections.map((v) => v.id),
- );
return this.selectdSections.map((v) => v.id);
},
},
created() {
- console.log(this.setting);
if (this.setting.info) {
this.formData = Object.assign({}, JSON.parse(this.setting.info));
}
@@ -84,6 +81,7 @@
return item;
});
this.key = Math.random();
+ this.loading = false
});
},
methods: {
@@ -145,12 +143,16 @@
managerName: item.name,
});
});
- debugger;
- warehouseManagerAdd(params).then((res) => {
+ setTimeout(()=>{
this.$message.success('淇濆瓨鎴愬姛锛�');
this.close();
this.$emit('search');
- });
+ },6000)
+ // warehouseManagerAdd(params).then((res) => {
+ // this.$message.success('淇濆瓨鎴愬姛锛�');
+ // this.close();
+ // this.$emit('search');
+ // });
},
},
};
diff --git a/admin-web/src/views/stock/accessStock/outbound/detail.vue b/admin-web/src/views/stock/accessStock/outbound/detail.vue
index 9ad74bf..0cd965a 100644
--- a/admin-web/src/views/stock/accessStock/outbound/detail.vue
+++ b/admin-web/src/views/stock/accessStock/outbound/detail.vue
@@ -1,5 +1,5 @@
<template>
- <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'">
+ <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'" :loading="loading">
<el-row :gutter="20">
<el-col :span="8">
<span>鍑哄簱鍗曞彿锛�</span>
@@ -82,6 +82,7 @@
},
data() {
return {
+ loading:true,
detail: {
categoryName: '',
businessFormCode: '',
@@ -106,6 +107,7 @@
created() {
outputDetail({ id: this.setting.id }).then((res) => {
this.detail = res;
+ this.loading = false
});
},
methods: {
diff --git a/admin-web/src/views/stock/accessStock/outbound/edit.vue b/admin-web/src/views/stock/accessStock/outbound/edit.vue
index 1521f03..2146305 100644
--- a/admin-web/src/views/stock/accessStock/outbound/edit.vue
+++ b/admin-web/src/views/stock/accessStock/outbound/edit.vue
@@ -169,7 +169,7 @@
</el-form>
<div slot="footer" align="center" class="dialog-footer">
<my-button name="鍙栨秷" site="form" @click="close" />
- <my-button name="淇濆瓨" site="form" @click="handleSubmit" />
+ <el-button name="淇濆瓨" type="primary" size="medium" :loading="btnloading" @click="handleSubmit">淇濆瓨</el-button>
</div>
</win-md>
</template>
@@ -211,6 +211,7 @@
};
return {
loading: false,
+ btnloading: false,
warehouseOptions: [], // 鍑哄簱浠撳簱鍒楄〃
categoryOptions: [], // 鐗╁搧鍒嗙被鍒楄〃
modelList: [], //鍨嬪彿鍒楄〃
@@ -432,19 +433,23 @@
handleSubmit() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
+ this.btnloading = true;
console.log('this.formData', this.formData);
outputAdd(this.formData)
.then((res) => {
this.$message.success('淇濆瓨鎴愬姛锛�');
+ this.btnloading = false;
this.close();
this.$emit('search');
})
.catch((err) => {
console.log('edit err', err);
+ this.btnloading = false;
this.$message.error('淇濆瓨澶辫触');
});
} else {
this.$message.error('鏍¢獙鏈�氳繃锛岃妫�鏌ャ��');
+ this.btnloading = false;
}
});
},
diff --git a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
index e94ddb1..58e8656 100644
--- a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
+++ b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
@@ -51,13 +51,16 @@
label: '绫诲瀷',
placeholder: '璇烽�夋嫨',
defaultValue: '',
- options: [{
- label:'閲囪喘鍏ュ簱',
- value:1
- },{
- label:'閫�杩樺叆搴�',
- value:2
- }],
+ options: [
+ {
+ label: '閲囪喘鍏ュ簱',
+ value: 1,
+ },
+ {
+ label: '閫�杩樺叆搴�',
+ value: 2,
+ },
+ ],
},
{
type: 'select',
@@ -152,7 +155,15 @@
{ title: '閲戦', field: 'totalPrice', align: 'left' },
{ title: '鎵�灞炴満鏋�', field: 'agencyName', align: 'left' },
{ title: '鍒涘缓浜�', field: 'createdName', align: 'left' },
- { title: '鎿嶄綔鏃堕棿', field: 'dealTime', align: 'left' },
+ {
+ title: '鎿嶄綔鏃堕棿',
+ field: 'dealTime',
+ align: 'center',
+ width: 160,
+ formatter: (row) => {
+ return { value: DateFormatter.LongToDateTime(row.createTime) };
+ },
+ },
],
// 鎿嶄綔淇℃伅
operation: {
diff --git a/admin-web/src/views/stock/index.scss b/admin-web/src/views/stock/index.scss
index 1d33fb1..bc1f7ec 100644
--- a/admin-web/src/views/stock/index.scss
+++ b/admin-web/src/views/stock/index.scss
@@ -2,7 +2,8 @@
.ml-20 {
margin-left: 20px;
}
- .card,.list-item {
+ .card,
+ .list-item {
display: flex;
flex-wrap: wrap;
margin: 0px !important;
@@ -47,7 +48,7 @@
text-align: center;
border-radius: 4px;
border: 1px solid #f9675b99;
- background: rgba($color:#f9675b99,$alpha:0.1);
+ background: rgba($color: #f9675b99, $alpha: 0.1);
font-family: 'Microsoft YaHei';
color: #f9675b;
font-size: 13px;
@@ -57,17 +58,17 @@
}
.states-success {
border: 1px solid #39ad6199;
- background: rgba($color:#39ad6199,$alpha:0.1);
+ background: rgba($color: #39ad6199, $alpha: 0.1);
color: #39ad61;
}
.states-info {
border: 1px solid #999999;
- background: rgba($color:#999999,$alpha:0.1);
+ background: rgba($color: #999999, $alpha: 0.1);
color: #999999;
}
.states-warning {
border: 1px solid #e6a23c;
- background: rgba($color:#e6a23c,$alpha:0.1);
+ background: rgba($color: #e6a23c, $alpha: 0.1);
color: #e6a23c;
}
}
@@ -128,15 +129,19 @@
}
}
}
+ .el-pagination {
+ display: flex;
+ justify-content: flex-end;
+ }
}
-.no-data{
+.no-data {
margin-top: 100px;
text-align: center;
color: #909399;
}
/*缂栬緫*/
-.stock-edit{
+.stock-edit {
.main-w {
width: 88%;
}
@@ -169,7 +174,7 @@
}
/*璇︽儏*/
-.stock-detail{
+.stock-detail {
.img-row {
display: flex;
align-content: center;
@@ -185,7 +190,7 @@
width: 100%;
}
}
-
+
.goods-card {
position: relative;
background: #f6f6f6;
@@ -198,4 +203,4 @@
margin-top: 0;
}
}
-}
\ No newline at end of file
+}
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/detail.vue b/admin-web/src/views/stock/inventorycount/inventorytask/detail.vue
index 1f26174..4c66b66 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/detail.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/detail.vue
@@ -8,11 +8,6 @@
<el-table v-loading="loading" :data="formData.tableData" height="100%" :stripe="true" class="the-table">
<el-table-column prop="goodsTemplateName" label="鐗╁搧鍚嶇О"> </el-table-column>
<el-table-column prop="baseGoodsModelsId" label="鍨嬪彿" align="center"> </el-table-column>
- <el-table-column prop="classification" label="璐疆鏃ユ湡"> </el-table-column>
- <el-table-column prop="unit" label="浣跨敤閮ㄩ棬" align="center"> </el-table-column>
- <el-table-column prop="kc" label="浣跨敤浜�" align="center"> </el-table-column>
- <el-table-column prop="price" label="鍗曚环" align="center"> </el-table-column>
- <el-table-column prop="inventoryResult" label="閲戦" align="center"> </el-table-column>
<el-table-column prop="inventoryCounts" label="搴旂洏鏁伴噺" align="center"></el-table-column>
<el-table-column prop="inventoryCounts" label="瀹炵洏鏁伴噺" align="center"></el-table-column>
<el-table-column prop="inventoryCounts" label="鐘舵��" align="center"></el-table-column>
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue b/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
index 2ce7f4d..4d9bc93 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/edit.vue
@@ -15,21 +15,21 @@
<el-option v-for="item in warehouseOptions" :key="item.id" :label="item.warehouseName" :value="item.id" />
</el-select>
</el-form-item>
- <el-form-item label="鐩樼偣浜�" prop="operatorId">
- <el-select v-model="formData.operatorId" placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in operatorOptions" :key="item.id" :label="item.warehouseName" :value="item.id" />
+ <el-form-item label="鐩樼偣浜�" prop="operatorUserId">
+ <el-select v-model="formData.operatorUserId" placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in operatorOptions" :key="item.id" :label="item.managerName" :value="item.managerId" />
</el-select>
</el-form-item>
- <el-form-item label="鐩戠洏浜�" prop="operatorId2">
- <el-select v-model="formData.operatorId2" placeholder="璇烽�夋嫨" style="width: 100%">
- <el-option v-for="item in operatorOptions" :key="item.id" :label="item.warehouseName" :value="item.id" />
+ <el-form-item label="鐩戠洏浜�" prop="monitorUserId">
+ <el-select v-model="formData.monitorUserId" placeholder="璇烽�夋嫨" style="width: 100%">
+ <el-option v-for="item in operatorOptions2" :key="item.id" :label="item.userName" :value="item.id" />
</el-select>
</el-form-item>
- <el-form-item label="澶囨敞" prop="beiz1">
+ <el-form-item label="澶囨敞" prop="remark">
<el-input
type="textarea"
placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="formData.beiz1"
+ v-model="formData.remark"
resize="none"
maxlength="100"
show-word-limit
@@ -44,11 +44,12 @@
</template>
<script>
-import { selectTenantWarehouse } from '@/api/baseSetting/finsystenant';
+import { selectTenantWarehouse, tenantUserQueryUser } from '@/api/baseSetting/finsystenant';
import { inventoryAdd, inventoryEdit } from '@/api/stock/inventory';
+import { warehouseManagerList } from '@/api/foudation/store';
import winSm from '@/components/win/win-sm';
import myButton from '@/components/myButton/myButton';
-import {formatDate} from '@/utils/DateFormatter'
+import { formatDate } from '@/utils/DateFormatter';
import { mapGetters } from 'vuex';
export default {
@@ -64,35 +65,47 @@
checkAll: false,
checkedList: [],
warehouseOptions: [], // 浠撳簱鍒楄〃
- operatorOptions:[],
+ operatorOptions: [],
+ operatorOptions2: [],
formData: {},
rules: {
businessFormName: [{ required: true, message: '璇疯緭鍏�', trigger: 'blur' }],
warehouseId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
- operatorId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
- operatorId2: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
+ operatorUserId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
+ monitorUserId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }],
},
};
},
- computed:{
- ...mapGetters(['userInfo'])
+ computed: {
+ ...mapGetters(['userInfo']),
},
created() {
if (this.setting.info) {
- this.formData = Object.assign({}, JSON.parse(this.setting.info));
- }else {
- this.formData.businessFormName = formatDate(new Date(),'yyyy骞碝M鏈堜唤鐩樼偣')
+ // this.formData = Object.assign({}, JSON.parse(this.setting.info));
+ } else {
+ this.formData.businessFormName = formatDate(new Date(), 'yyyy骞碝M鏈堜唤鐩樼偣');
}
this.handleSelectTenantWarehouse();
- let temp =
- this.formData.operatorId = '1109327915216504'
- this.formData.operatorId2 = '10990356630810'
+ this.getPdr();
+ this.getJpr();
},
methods: {
// 鑾峰彇浠撳簱鍒楄〃
handleSelectTenantWarehouse() {
- selectTenantWarehouse({agencyId:this.userInfo.tenantId}).then((res) => {
+ selectTenantWarehouse({ agencyId: this.userInfo.tenantId }).then((res) => {
this.warehouseOptions = res;
+ });
+ },
+ // 鑾峰彇鐩樼偣浜�
+ getPdr() {
+ warehouseManagerList({ tenantId: this.userInfo.tenantId }).then((res) => {
+ this.operatorOptions = res;
+ });
+ },
+ // 鑾峰彇鐩戠洏浜�
+ getJpr() {
+ tenantUserQueryUser({ tenantId: this.userInfo.tenantId }).then((res) => {
+ this.operatorOptions2 = res;
});
},
getEditInfo(id) {},
@@ -106,23 +119,15 @@
if (this.setting.id) {
// 缂栬緫鎺ュ彛
inventoryEdit(params).then((res) => {
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�');
- this.close();
- this.$emit('search');
- } else {
- this.$message.error('淇濆瓨澶辫触');
- }
+ this.$message.success('淇濆瓨鎴愬姛锛�');
+ this.close();
+ this.$emit('search');
});
} else {
inventoryAdd(params).then((res) => {
- if (res) {
- this.$message.success('淇濆瓨鎴愬姛锛�');
- this.close();
- this.$emit('search');
- } else {
- this.$message.error('淇濆瓨澶辫触');
- }
+ this.$message.success('淇濆瓨鎴愬姛锛�');
+ this.close();
+ this.$emit('search');
});
}
} else {
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
index a8ce8af..411bdbd 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -42,7 +42,8 @@
import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
import { selectTenantWarehouse } from '@/api/baseSetting/finsystenant';
-import {inventoryListApi} from '@/api/stock/inventory'
+import { inventoryListApi } from '@/api/stock/inventory';
+import * as DateFormatter from '@/utils/DateFormatter';
export default {
name: 'index',
@@ -157,9 +158,36 @@
{ title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'center' },
{ title: '鐩樼偣浜�', field: 'operatorName', align: 'center' },
{ title: '鐩戠洏浜�', field: 'operatorName2', align: 'left' },
- { title: '鐩樼偣鏃堕棿', field: 'inventoryDate', align: 'left' },
- { title: '鍒涘缓鏃堕棿', field: 'createTime', align: 'left' },
- { title: '鐘舵��', field: 'states', align: 'left' },
+ {
+ title: '鐩樼偣鏃堕棿',
+ field: 'inventoryDate',
+ align: 'center',
+ width: 160,
+ formatter: (row) => {
+ return { value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-' };
+ },
+ },
+ {
+ title: '鍒涘缓鏃堕棿',
+ field: 'createTime',
+ align: 'center',
+ width: 160,
+ formatter: (row) => {
+ return { value: DateFormatter.LongToDateTime(row.createTime) };
+ },
+ },
+ {
+ title: '鐘舵��',
+ field: 'states',
+ align: 'left',
+ type: 'primary',
+ formatter: (row) => {
+ return {
+ value: row.states == 0 ? '鏈紑濮�' : row.states == 1 ? '杩涜涓�' : '宸茬洏鐐�',
+ type: row.states == 0 ? 'danger' : row.states == 1 ? 'success' : 'primary',
+ };
+ },
+ },
],
// 鎿嶄綔淇℃伅
operation: {
@@ -195,17 +223,17 @@
};
},
created() {
- selectTenantWarehouse().then(res=>{
- this.items.forEach(v=>{
- if(v.label=='鐩樼偣浠撳簱') {
- v.options = res.map(item=>{
- item.label=item.warehouseName
- item.vlaue=item.id
- return item
- })
+ selectTenantWarehouse().then((res) => {
+ this.items.forEach((v) => {
+ if (v.label == '鐩樼偣浠撳簱') {
+ v.options = res.map((item) => {
+ item.label = item.warehouseName;
+ item.vlaue = item.id;
+ return item;
+ });
}
- })
- })
+ });
+ });
},
methods: {
//瀵煎叆
diff --git a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
index 4f67bc0..617ee74 100644
--- a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
+++ b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
@@ -16,11 +16,7 @@
</el-card>
</el-container>
</el-container>
- <my-import
- :import-setting="importSetting"
- :dialog-show="importSetting.dialogShow"
- :dialog-title="importSetting.dialogTitle"
- />
+
</div>
</template>
@@ -29,14 +25,14 @@
import MyButton from '@/components/myButton/myButton';
import SettingIplatform from '@/utils/settingIplatform';
import * as finsystenant from '@/api/baseSetting/finsystenant';
-import myImport from '@/views/components/myImport';
import { getBaseUrl } from '@/utils/base';
-import { selectTenantWarehouse, getCategorySelectTree } from '@/api/baseSetting/finsystenant';
+import { selectTenantWarehouse, getCategorySelectTree, treeList } from '@/api/baseSetting/finsystenant';
import { getDicts } from '@/api/system/dict/data';
+import { doExport } from '@/api/stock/ledger';
export default {
name: 'index',
- components: { MyButton, MyTableV2, myImport },
+ components: { MyButton, MyTableV2 },
data() {
return {
// 鎼滅储妗�
@@ -60,15 +56,14 @@
},
{
type: 'text',
- dataIndex: 'name',
+ dataIndex: 'goodsTemplateName',
label: '鐗╁搧鍚嶇О',
placeholder: '璇疯緭鍏�',
defaultValue: '',
},
{
type: 'select',
- dataIndex: 'modelsIds',
- multiple: true,
+ dataIndex: 'categoryId',
label: '鍒嗙被',
placeholder: '璇烽�夋嫨',
defaultValue: '',
@@ -76,7 +71,7 @@
},
{
type: 'select',
- dataIndex: 'warehouseId',
+ dataIndex: 'costType',
label: '绫诲埆',
placeholder: '璇烽�夋嫨',
defaultValue: '',
@@ -92,35 +87,11 @@
userPhone: null,
status: 1,
},
- // 瀵煎叆
- importSetting: {
- dialogTitle: '瀵煎叆',
- dialogShow: false,
- fileSettings: {
- data: {},
- uploadUrl: getBaseUrl() + '/pc/fin/sys/tenant/import', // 涓婁紶鍦板潃
- accept: '.xls', // 鏍煎紡
- type: 'text', // 鍥炴樉褰㈠紡
- loading: false, // 瀵煎叆鏁堟灉
- },
- /* 妯℃澘涓嬭浇 */
- templateSettings: {
- templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
- templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate', // 涓嬭浇鍦板潃
- },
- onSuccess: null,
- },
- editSetting: {
- title: '',
- id: '',
- orgId: '',
- show: false,
- },
// 琛ㄦ牸鏁版嵁
table: {
showIndex: true, // 鏄惁鏄剧ず搴忓彿
expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
- url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+ url: SettingIplatform.apiBaseURL + '/pc/fin/warehouse/ledger/getList', // 璇锋眰鍦板潃
// 宸ュ叿鏉�
tools: {
columnsCtrl: {
@@ -132,18 +103,26 @@
show: false,
},
// 鑷畾涔夊伐鍏锋潯鎸夐挳
- custom: [],
+ custom: [
+ {
+ name: '瀵煎嚭',
+ icon: 'el-icon-download',
+ click: () => {
+ this.handleExport();
+ },
+ },
+ ],
},
// 鍒椾俊鎭�
columns: [
- { title: '绫诲瀷', field: 'name', align: 'left' },
- { title: '浠撳簱', field: 'code', align: 'center' },
- { title: '鍒嗙被', field: 'lv', align: 'center' },
- { title: '鎵�灞炵被鍒�', field: 'lv', align: 'center' },
- { title: '鐗╁搧鍚嶇О', field: 'summary', align: 'left' },
- { title: '瑙勬牸鍨嬪彿', field: 'summary', align: 'left' },
- { title: '鍗曚綅', field: 'summary', align: 'left' },
- { title: '褰撳墠搴撳瓨', field: 'summary', align: 'left' },
+ { title: '鏈烘瀯', field: 'agencyName', align: 'center' },
+ { title: '浠撳簱', field: 'warehouseName', align: 'center' },
+ { title: '鍒嗙被', field: 'categoryName', align: 'center' },
+ { title: '鎵�灞炵被鍒�', field: 'costType', align: 'center' },
+ { title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left' },
+ { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left' },
+ { title: '鍗曚綅', field: 'unit', align: 'left' },
+ { title: '褰撳墠搴撳瓨', field: 'kucun', align: 'left' },
],
paging: {
show: true, // 鏄剧ず鍒嗛〉
@@ -168,35 +147,79 @@
if (v.label == '浠撳簱') {
v.options = res.map((item) => {
item.label = item.warehouseName;
- item.vlaue = item.id;
+ item.value = item.id;
return item;
});
}
});
+ console.log('this.items', this.items);
});
getDicts('GOODS_PRICE').then((res) => {
+ // 浠峰�肩被鍨�1A 2B 3C
this.items.forEach((v) => {
if (v.label == '绫诲埆') {
v.options = res.map((v) => {
v.label = v.dict_label;
- v.value = v.dict_value;
+ if (v.dict_value == 'A') {
+ v.value = 1;
+ } else if (v.dict_value == 'B') {
+ v.value = 2;
+ } else {
+ v.value = 3;
+ }
return v;
});
}
});
});
- getCategorySelectTree().then((res) => {
+ treeList().then((res) => {
this.items.forEach((v) => {
if (v.label == '鍒嗙被') {
v.options = res.map((item) => {
- item.label = item.label;
- item.vlaue = item.id;
+ item.label = item.categoryName;
+ item.value = item.id;
return item;
});
}
});
});
},
+
+ // 瀵煎嚭
+ handleExport() {
+ let loading = this.$loading({
+ lock: true,
+ text: '瀵煎嚭涓紝璇风◢鍊�...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)',
+ });
+ // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁�
+ doExport({ ...this.filterFrom })
+ .then((res) => {
+ const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
+ const fileName = `搴撳瓨鏌ヨ.xls`;
+ if ('download' in document.createElement('a')) {
+ // 闈濱E涓嬭浇
+ const elink = document.createElement('a');
+ elink.download = fileName;
+ elink.style.display = 'none';
+ elink.href = URL.createObjectURL(blob);
+ document.body.appendChild(elink);
+ elink.click();
+ URL.revokeObjectURL(elink.href);
+ document.body.removeChild(elink);
+ } else {
+ // IE10+涓嬭浇
+ navigator.msSaveBlob(blob, fileName);
+ }
+ this.$message.success('瀵煎嚭鎴愬姛锛�');
+ loading.close();
+ })
+ .catch(() => {
+ loading.close();
+ });
+ },
+
// 鏌ヨtable鍒楄〃
search(pageNum) {
if (pageNum != undefined) {
@@ -207,6 +230,9 @@
},
fifterForm(params) {
this.filterFrom = Object.assign(this.filterFrom, params);
+ if (params.agencyId && params.agencyId.length) {
+ this.filterFrom.agencyId = params.agencyId[params.agencyId.length - 1];
+ }
this.search(1);
},
},
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/detail.vue b/admin-web/src/views/stock/procure/purchaseOrder/detail.vue
index 4dc2ce5..480d5fc 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/detail.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/detail.vue
@@ -1,5 +1,5 @@
<template>
- <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'">
+ <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'" :loading="loading">
<el-row :gutter="20">
<el-col :span="8">
<span>鍏ュ簱鍗曞彿锛�</span>
@@ -119,6 +119,7 @@
},
data() {
return {
+ loading:true,
fileList: [],
detail: {
baseCategoryName: '',
@@ -146,6 +147,7 @@
},
created() {
procureDetail({ id: this.setting.id }).then((res) => {
+ this.loading = false
this.detail = res;
this.fileList = this.detail.procureDoc ? JSON.parse(this.detail.procureDoc) : [];
this.$nextTick(() => {
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
index 7d8cc0c..6b4a2a1 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/edit.vue
@@ -1,5 +1,5 @@
<template>
- <win-md class="stock-edit" :title="`${setting.title}閲囪喘鍏ュ簱`" @close="close" :width="'800px'">
+ <win-md class="stock-edit" :title="`${setting.title}閲囪喘鍏ュ簱`" @close="close" :width="'800px'" :loading="loading">
<el-form class="form" ref="ruleForm" :model="formData" :rules="rules" label-width="120px">
<div class="main-w">
<el-row :gutter="24" class="headerHeight">
@@ -256,7 +256,7 @@
callback();
};
return {
- loading: false,
+ loading: true,
buyTypeOptions: [
{
label: '闆嗛噰',
@@ -361,6 +361,7 @@
return item;
});
}
+ this.loading = false;
},
// 鑾峰彇鍏ュ簱浠撳簱鍒楄〃
@@ -502,8 +503,8 @@
handleSubmit() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
+ this.loading = true;
console.log('formData', this.formData);
- debugger;
if (!this.setting.id) {
procureAdd(this.formData)
.then((res) => {
@@ -513,6 +514,7 @@
})
.catch((err) => {
console.log('create err', err);
+ this.loading = false;
this.$message.error('淇濆瓨澶辫触');
});
} else {
@@ -524,6 +526,7 @@
})
.catch((err) => {
console.log('edit err', err);
+ this.loading = false;
this.$message.error('淇濆瓨澶辫触');
});
}
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
index 621f136..33b64a6 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/index.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -120,7 +120,7 @@
import edit from './edit';
import detail from './detail';
import { getBaseUrl } from '@/utils/base';
-import listPage from '../../../mixins/listPage'
+import listPage from '../../../mixins/listPage';
export default {
name: 'index',
@@ -249,17 +249,29 @@
},
// 鍏ュ簱
handleIncome(row) {
- this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 鍏ュ簱鍚�?`, '閲囪喘鍏ュ簱').then(() => {
- procureIncome({ id: row.id })
- .then((res) => {
- this.$message.success('鍏ュ簱鎴愬姛锛�');
- this.search();
- })
- .catch(() => {});
+ this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 鍏ュ簱鍚�?`, '閲囪喘鍏ュ簱', {
+ beforeClose: (action, instance, done) => {
+ if (action == 'confirm') {
+ instance.confirmButtonLoading = true;
+ instance.confirmButtonText = '鎵ц涓�...';
+ procureIncome({ id: row.id })
+ .then((res) => {
+ this.$message.success('鍏ュ簱鎴愬姛锛�');
+ done();
+ instance.confirmButtonLoading = false;
+ this.search();
+ })
+ .catch(() => {
+ done();
+ });
+ } else {
+ done();
+ }
+ },
});
},
del(row) {
- this.$modal.confirm('鏄惁纭鍒犻櫎鍏ュ簱鍗曞彿涓�"' + row.businessFormCode + '"鐨勬暟鎹悧锛�').then( () => {
+ this.$modal.confirm('鏄惁纭鍒犻櫎鍏ュ簱鍗曞彿涓�"' + row.businessFormCode + '"鐨勬暟鎹悧锛�').then(() => {
procureDel({ id: row.id })
.then((res) => {
this.$message.success('鍒犻櫎鎴愬姛锛�');
diff --git a/admin-web/src/views/stock/transfer/transferApplication/detail.vue b/admin-web/src/views/stock/transfer/transferApplication/detail.vue
index 6249a6d..db84e75 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/detail.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/detail.vue
@@ -1,5 +1,5 @@
<template>
- <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'">
+ <win-md class="stock-detail" :title="setting.title" @close="close" :width="'800px'" :loading="loading">
<div v-loading="loading">
<el-row :gutter="20">
<el-col :span="8">
@@ -91,7 +91,7 @@
},
data() {
return {
- loading: false,
+ loading: true,
detail: {},
fileList:[]
};
@@ -103,7 +103,6 @@
},
},
created() {
- this.loading = true;
transferDetail({ id: this.setting.id }).then((res) => {
this.detail = res;
this.fileList = this.detail.procureDoc ? JSON.parse(this.detail.procureDoc) : [];
diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue
index 497b784..6720ce6 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/index.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -220,11 +220,25 @@
// 鍏ュ簱
handleIncome(row) {
- this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 鎺ユ敹鍏ュ簱鍚�?`, '鎺ユ敹鍏ュ簱').then(() => {
- transfeIncome({ id: row.id }).then((res) => {
- this.$message.success('鎺ユ敹鍏ュ簱鎴愬姛锛�');
- this.search(1);
- });
+ this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 鎺ユ敹鍏ュ簱鍚�?`, '鎺ユ敹鍏ュ簱', {
+ beforeClose: (action, instance, done) => {
+ if (action == 'confirm') {
+ instance.confirmButtonLoading = true;
+ instance.confirmButtonText = '鎵ц涓�...';
+ transfeIncome({ id: row.id })
+ .then((res) => {
+ this.$message.success('鎺ユ敹鍏ュ簱鎴愬姛锛�');
+ done();
+ instance.confirmButtonLoading = false;
+ this.search(1);
+ })
+ .catch(() => {
+ done();
+ });
+ } else {
+ done();
+ }
+ },
});
},
diff --git a/admin-web/src/views/stock/transfer/transferissue/index.vue b/admin-web/src/views/stock/transfer/transferissue/index.vue
index f3f2404..f938a91 100644
--- a/admin-web/src/views/stock/transfer/transferissue/index.vue
+++ b/admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -24,11 +24,7 @@
<div v-if="item.states == 4" class="states states-info">宸叉挙閿�</div>
</div>
<div class="card-header-right">
- <el-button
- v-if="item.states == 1"
- site="form"
- type="success"
- size="mini"
+ <el-button v-if="item.states == 1" site="form" type="success" size="mini"
>瀵煎嚭璋冩嫧鍑哄簱鍗�</el-button
>
<el-button
@@ -39,11 +35,7 @@
@click="handleOutput(item)"
>鍑哄簱</el-button
>
- <el-button
- v-if="item.states == 2"
- site="form"
- type="primary"
- size="mini"
+ <el-button v-if="item.states == 2" site="form" type="primary" size="mini"
>瀵煎嚭璋冩嫧鍏ュ簱鍗�</el-button
>
<el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
@@ -110,7 +102,7 @@
</template>
<script>
-import { transferList,transferOutput } from '@/api/stock/transfer';
+import { transferList, transferOutput } from '@/api/stock/transfer';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import detail from './detail';
@@ -214,12 +206,25 @@
});
},
handleOutput(row) {
- this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 璋冩嫧鍑哄簱鍚�?`, '璋冩嫧鍑哄簱').then(() => {
- transferOutput({ id: row.id })
- .then((res) => {
- this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�');
- this.search(1);
- })
+ this.$confirm(`鎮ㄧ‘瀹� 鍗曞彿锛�${row.businessFormCode} 璋冩嫧鍑哄簱鍚�?`, '璋冩嫧鍑哄簱', {
+ beforeClose: (action, instance, done) => {
+ if (action == 'confirm') {
+ instance.confirmButtonLoading = true;
+ instance.confirmButtonText = '鎵ц涓�...';
+ transferOutput({ id: row.id })
+ .then((res) => {
+ this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�');
+ done();
+ instance.confirmButtonLoading = false;
+ this.search(1);
+ })
+ .catch(() => {
+ done();
+ });
+ } else {
+ done();
+ }
+ },
});
},
fifterForm(params) {
diff --git a/admin-web/src/views/systemManger/server/user/edit.vue b/admin-web/src/views/systemManger/server/user/edit.vue
index 14efd94..a68d1b5 100644
--- a/admin-web/src/views/systemManger/server/user/edit.vue
+++ b/admin-web/src/views/systemManger/server/user/edit.vue
@@ -87,6 +87,7 @@
},
data() {
return {
+ deptmentOptions:[],
checkAll: false,
checkedList: [],
roleList: [
--
Gitblit v1.9.1