From 75aaca3a95314be8c384df18dba23c661dea742c Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期一, 27 十一月 2023 19:05:38 +0800 Subject: [PATCH] feat: --- admin-web/src/views/stock/procure/purchaseOrder/index.vue | 169 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 98 insertions(+), 71 deletions(-) diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue index 621f136..e3e3865 100644 --- a/admin-web/src/views/stock/procure/purchaseOrder/index.vue +++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue @@ -13,69 +13,72 @@ <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" /> <my-button name="瀵煎叆" @click="importSetting.dialogShow = true" site="tools" size="medium" /> </div> - <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 class="states" :class="item.states == 1 ? '' : 'states-success'"> - {{ item.states == 1 ? '寰呭叆搴�' : '宸插叆搴�' }} + <div v-loading="loading" style="margin-bottom: 15px"> + <div :style="{ 'overflow-y': 'auto', height: `${clientHeight - 360}px` }"> + <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 class="states" :class="item.states == 1 ? '' : 'states-success'"> + {{ item.states == 1 ? '寰呭叆搴�' : '宸插叆搴�' }} + </div> + </div> + <div class="card-header-right"> + <template v-if="item.states == 1"> + <el-button name="缂栬緫" site="form" type="success" size="mini" @click="handleEdit(item)" + >缂栬緫</el-button + > + <el-button name="鍏ュ簱" site="form" type="primary" size="mini" @click="handleIncome(item)" + >鍏ュ簱</el-button + > + <el-button name="鍒犻櫎" site="form" type="danger" size="mini" @click="del(item)" + >鍒犻櫎</el-button + > + </template> + <template v-if="item.states != 1"> + <el-button site="form" type="success" size="mini" @click="handleExport(item)" + >瀵煎嚭鍏ュ簱鍗�</el-button + > + </template> + <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" + >鏌ョ湅璇︽儏</el-button + > </div> </div> - <div class="card-header-right"> - <template v-if="item.states == 1"> - <el-button name="缂栬緫" site="form" type="success" size="mini" @click="handleEdit(item)" - >缂栬緫</el-button - > - <el-button name="鍏ュ簱" site="form" type="primary" size="mini" @click="handleIncome(item)" - >鍏ュ簱</el-button - > - <el-button name="鍒犻櫎" site="form" type="danger" size="mini" @click="del(item)" - >鍒犻櫎</el-button - > - </template> - <template v-if="item.states != 1"> - <el-button site="form" type="success" size="mini" @click="handleExport(item)" - >瀵煎嚭鍏ュ簱鍗�</el-button - > - </template> - <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)" - >鏌ョ湅璇︽儏</el-button - > + <div class="one-hed"> + <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyId }}</div> + <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.buyerName }}</div> + <div class="box"> + <span class="span-two">閲囪喘鏃堕棿锛�</span>{{ item.procureTime | formatTime }} + </div> + <div class="box"> + <span class="span-two">鍏ュ簱鏃堕棿锛�</span>{{ item.incomeTime | formatTime }} + </div> </div> - </div> - <div class="one-hed"> - <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyId }}</div> - <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.buyerName }}</div> - <div class="box"> - <span class="span-two">閲囪喘鏃堕棿锛�</span>{{ item.procureTime | formatTime }} - </div> - <div class="box"> - <span class="span-two">鍏ュ簱鏃堕棿锛�</span>{{ item.incomeTime | formatTime }} - </div> - </div> - <div class="card-end"> - <div v-for="(just, index) in item.fromProcureTemplateInfoList" :key="index" class="item"> - <div class="name">{{ just.goodsTemplateName }}</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 class="card-end"> + <div v-for="(just, index) in item.fromProcureTemplateInfoList" :key="index" class="item"> + <div class="name">{{ just.goodsTemplateName }}</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> - </div> - </el-card> - </el-col> - </el-row> - <div class="no-data" v-else>鏆傛棤鏁版嵁</div> + </el-card> + </el-col> + </el-row> + <div class="no-data" v-else>鏆傛棤鏁版嵁</div> + </div> </div> + <el-pagination :small="false" :current-page="pageNum" @@ -120,7 +123,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', @@ -140,12 +143,25 @@ placeholder: '璇疯緭鍏�', defaultValue: '', }, + // { + // type: 'text', + // dataIndex: 'goodsTemplateName', + // label: '鐗╁搧鍚嶇О', + // placeholder: '鍙ā绯婃悳绱�', + // defaultValue: '', + // }, { - type: 'text', - dataIndex: 'goodsTemplateName', + type: 'select', + dataIndex: 'goodsTemplateId', label: '鐗╁搧鍚嶇О', - placeholder: '鍙ā绯婃悳绱�', + placeholder: '璇疯緭鍏�', defaultValue: '', + options: [], + optionsConfig: { + label: 'goodsName', + value: 'id', + url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate', + }, }, { type: 'cascader', @@ -219,6 +235,9 @@ }, }; }, + created(){ + this.fetchData() + }, methods: { fetchData() { this.loading = true; @@ -230,7 +249,6 @@ this.list = res.datas; this.total = res.totalRows; this.loading = false; - console.log(this.list); }); }, @@ -249,17 +267,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('鍒犻櫎鎴愬姛锛�'); @@ -275,9 +305,6 @@ } if (this.filterFrom.incomeTimeEnd) { this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, ''); - } - if (this.filterFrom.agencyId && this.filterFrom.agencyId.length) { - this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1]; } this.search(1); }, -- Gitblit v1.9.1