From 72a3040049e1221571d2898eb21d3647c7252e35 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期三, 29 十一月 2023 11:16:34 +0800 Subject: [PATCH] feat: 1、删除无用文件 2、首页待办、预警对接 --- admin-web/src/views/dashboard/index.vue | 210 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 150 insertions(+), 60 deletions(-) diff --git a/admin-web/src/views/dashboard/index.vue b/admin-web/src/views/dashboard/index.vue index 1d92ebb..a82a8cc 100644 --- a/admin-web/src/views/dashboard/index.vue +++ b/admin-web/src/views/dashboard/index.vue @@ -4,20 +4,24 @@ <el-col :span="12"> <el-card shadow="never"> <div slot="header" class="clearfix"> - <span class="font-18 font-bold">寰呭姙鍚嶇О</span> + <span class="font-18 font-bold">璋冩嫧寰呭姙</span> </div> <div class="f-r f-r-between m-b-10"> - <el-radio-group v-model="waitType" size="mini"> - <el-radio-button label="1">鍏ㄩ儴</el-radio-button> + <el-radio-group @change="changeAudit" v-model="waitType" size="mini"> + <el-radio-button label="0">寰呭嚭搴�</el-radio-button> + <el-radio-button label="1">寰呭叆搴�</el-radio-button> </el-radio-group> <div class="to-more" @click="nav('/stock/transfer/transferissue')">鏌ョ湅鏇村 ></div> </div> - <el-table :data="waitWorkData" class="top-tb" :show-header="false" size="medium"> + <el-table v-loading="waitLoading" :data="waitWorkData" class="top-tb" height="265" :show-header="false" size="medium"> <el-table-column prop="businessFormCode" align="center" width="130"></el-table-column> - <el-table-column prop="inWarehouseName" align="center" min-width="130"> + <el-table-column prop="inWarehouseName" align="left" min-width="130"> <template slot-scope="{row}"> <el-tooltip class="item" effect="dark" :content="row.inWarehouseName " placement="top-start"> - <div class="font-14 color-333" style="width: 100%;white-space:nowrap;text-overflow: ellipsis;overflow: hidden">{{ row.inWarehouseName }}</div> + <div class="font-14 color-333" + style="width: 100%;white-space:nowrap;text-overflow: ellipsis;overflow: hidden"> + {{ row.inWarehouseName }} + </div> </el-tooltip> </template> </el-table-column> @@ -29,9 +33,10 @@ </el-table-column> <el-table-column prop="date" label="鎿嶄綔" fixed="right" align="center" width="80"> <template slot-scope="scope"> - <el-button @click.native.prevent="aduitThis(scope.row.id)" type="primary">澶勭悊</el-button> + <el-button @click.native.prevent="aduitThis(scope.row)" size="mini" type="primary">澶勭悊</el-button> </template> </el-table-column> + <el-empty slot="empty" description="鏆傛棤鏁版嵁"></el-empty> </el-table> </el-card> </el-col> @@ -42,31 +47,44 @@ </div> <div class="f-r f-r-between m-b-10"> <el-radio-group size="mini" v-model="earlyWarningType" @change="changeEarlyWarning"> - <el-radio-button label="1">鍏ㄩ儴</el-radio-button> + <el-radio-button label="">鍏ㄩ儴</el-radio-button> <el-radio-button label="2">缂鸿揣锛�12锛�</el-radio-button> - <el-radio-button label="3">瓒呭嚭锛�3锛�</el-radio-button> + <el-radio-button label="1">瓒呭嚭锛�3锛�</el-radio-button> </el-radio-group> <div class="to-more" @click="nav('/stock/ledger/alertQuery')">鏌ョ湅鏇村 ></div> </div> - <el-table :data="earlyWarningData" class="top-tb" :show-header="false" size="medium"> - <el-table-column prop="type" align="center"></el-table-column> - <el-table-column prop="name" align="center" width="100"></el-table-column> - <el-table-column prop="orgName" align="center" width="100"></el-table-column> - <el-table-column prop="surplus" align="center" width="100"> - <template slot-scope="scope"> - <span class="font-14 color-333">鍓╀綑{{ scope.row.surplus }}濂�</span> + <el-table v-loading="earlyLoading" :data="earlyWarningData" class="top-tb" height="265" :show-header="false" size="medium"> + <el-table-column prop="baseGoodsTemplateName" align="left" min-width="130"> + <template slot-scope="{row}"> + <el-tooltip class="item" effect="dark" :content="row.baseGoodsTemplateName " placement="top-start"> + <div class="font-14 color-333" + style="width: 100%;white-space:nowrap;text-overflow: ellipsis;overflow: hidden"> + {{ row.baseGoodsTemplateName }} + </div> + </el-tooltip> </template> </el-table-column> - <el-table-column prop="createTime" align="center" width="180"> - <template slot-scope="scope"> - <span class="font-14 color-333">{{ formattTime(scope.row.createTime) }}</span> + <el-table-column prop="baseGoodsModelsName" align="left" min-width="130"> + <template slot-scope="{row}"> + <el-tooltip class="item" effect="dark" :content="row.baseGoodsModelsName " placement="top-start"> + <div class="font-14 color-333" + style="width: 100%;white-space:nowrap;text-overflow: ellipsis;overflow: hidden"> + {{ row.baseGoodsModelsName }} + </div> + </el-tooltip> </template> </el-table-column> - <el-table-column prop="date" label="鎿嶄綔" align="center" width="120"> - <template slot-scope="scope"> - <el-button @click.native.prevent="aduitThis(scope.row.id)" size="small" type="primary">澶勭悊</el-button> + <el-table-column prop="surplus" align="left" min-width="130"> + <template slot-scope="{row}"> + <span class="font-14 color-333">鍓╀綑{{ row.warehouseCount }}{{ row.unit }}</span> </template> </el-table-column> + <el-table-column prop="warningTime" align="center" width="160"> + <template slot-scope="{row}"> + <span class="font-14 color-333">{{ formattTime(row.warningTime) }}</span> + </template> + </el-table-column> + <el-empty slot="empty" description="鏆傛棤鏁版嵁"></el-empty> </el-table> </el-card> </el-col> @@ -75,23 +93,29 @@ <div class="f-r f-r-between total-list"> <div class="total-item"> <div class="font-14 color-666">鐗╁搧鏁伴噺</div> - <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.totalNum}}</span></div> + <div class="font-14 color-333" style="margin-top:6px;"><span + class="total-num">{{ goodsNumPrice.totalNum }}</span></div> </div> <div class="total-item"> <div class="font-14 color-666">璧勪骇鎬婚噾棰�</div> - <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.totalPrice}}</span>涓囧厓</div> + <div class="font-14 color-333" style="margin-top:6px;"><span + class="total-num">{{ goodsNumPrice.totalPrice }}</span>涓囧厓 + </div> </div> <div class="total-item"> <div class="font-14 color-666">鐗╁搧鍗犵敤鐜�</div> - <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.zhanYouPercent}}%</span></div> + <div class="font-14 color-333" style="margin-top:6px;"><span + class="total-num">{{ goodsNumPrice.zhanYouPercent }}%</span></div> </div> <div class="total-item"> <div class="font-14 color-666">A绫荤墿鍝佹暟閲�</div> - <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.aTotalNum}}</span></div> + <div class="font-14 color-333" style="margin-top:6px;"><span + class="total-num">{{ goodsNumPrice.aTotalNum }}</span></div> </div> <div class="total-item"> <div class="font-14 color-666">B绫荤墿鍝佹暟閲�</div> - <div class="font-14 color-333" style="margin-top:6px;"><span class="total-num">{{goodsNumPrice.bTotalNum}}</span></div> + <div class="font-14 color-333" style="margin-top:6px;"><span + class="total-num">{{ goodsNumPrice.bTotalNum }}</span></div> </div> </div> <!-- 绫诲埆閲戦缁熻/绫诲埆鏁伴噺缁熻 --> @@ -109,10 +133,13 @@ </template> <script> +import listPage from '@/views/mixins/listPage'; import {getGoodsNumPrice} from '@/api/dashboard' // 鍒涘缓Context import {LongToDateTime} from "@/utils/DateFormatter"; -import {transferList} from "@/api/stock/transfer"; +import {transfeIncome, transferList, transferOutput} from "@/api/stock/transfer"; +import {geWarningList} from '@/api/stock/ledger' +import transfer from "@/views/mixins/transfer"; const ComponentContext = require.context('./components', false, /\.vue$/i); let res_components = {}; @@ -124,8 +151,11 @@ export default { name: 'Dashboard', components: {...res_components}, + mixins: [listPage], data() { return { + earlyLoading: false, + waitLoading: false, goodsNumPrice: { aTotalNum: 0, aTotalPrice: 0, @@ -139,47 +169,104 @@ xiaFaNum: 0, zhanYouPercent: 0, }, - waitType: '1', + waitType: '0', waitWorkData: [], // 寰呭姙宸ヤ綔 - earlyWarningType: '1', - earlyWarningData: [ - {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 4, createTime: 20231127150606, id: 1}, - {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 5, createTime: 20231127150606, id: 2}, - {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 6, createTime: 20231127150606, id: 3}, - {type: '鏂戒箰澶嶅嵃鏈虹⒊绮�', name: '鏂戒箰c2201', surplus: 6, createTime: 20231127150606, id: 4}, - ] // 棰勮閫氱煡 + earlyWarningType: '', + earlyWarningData: [] // 棰勮閫氱煡 }; }, created() { - this.init() + this.getAuditList() + this.getWarningList() getGoodsNumPrice().then(res => { this.goodsNumPrice = res }) }, methods: { - init(){ - transferList({ - qryType: 0, - pageNum: 1, - pageSize: 5, - }).then((res) => { - this.waitWorkData = res.datas; - }); - }, // 鏍煎紡鍖栨椂闂� formattTime(time) { return LongToDateTime(time) }, + changeAudit(e) { + this.waitType = e + this.$nextTick(() => { + this.getAuditList() + }) + }, // 鑾峰彇棰勮閫氱煡鍒楄〃鏁版嵁 - getAduitList() { - let form = { - pageSize: 5, + getAuditList() { + this.waitLoading = true + this.waitWorkData = [] + let params = { pageNum: 1, - waitType: this.waitType + pageSize: 5, + } + if (this.waitType === '0') { + params.outAgencyId = this.userInfo.tenantId + params.states = 0 + } else { + params.inAgencyId = this.userInfo.tenantId + params.states = 1 + } + transferList(params).then((res) => { + this.waitLoading = false + this.waitWorkData = res.datas; + }).catch(() => { + this.waitLoading = false + }); + }, + aduitThis(row){ + if (this.waitType === '0') { + this.handleOutput(row) + } else { + this.handleIncome(row) } }, - // 澶勭悊寰呭姙宸ヤ綔 - aduitThis(id) { + // 鍏ュ簱 + handleIncome(row) { + 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(); + } + }, + }); + }, + //鍑哄簱 + handleOutput(row) { + 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(); + } + }, + }); }, // 鍒囨崲棰勮閫氱煡 changeEarlyWarning(e) { @@ -190,11 +277,18 @@ }, // 鑾峰彇棰勮閫氱煡鍒楄〃鏁版嵁 getWarningList() { - let form = { - pageSize: 5, + this.earlyLoading = true + this.earlyWarningData = [] + geWarningList({ + warningType: this.earlyWarningType, pageNum: 1, - earlyWarningType: this.earlyWarningType - } + pageSize: 5, + }).then(res => { + this.earlyLoading = false + this.earlyWarningData = res.datas; + }).catch(() => { + this.waitLoading = false + }); }, // 璺宠浆 nav(url) { @@ -221,10 +315,6 @@ .top-tb { width: 100%; -} - -> > > .el-table__body { - min-height: 265px; } .total-list { -- Gitblit v1.9.1