Browse Source

Merge remote-tracking branch 'origin/master'

ZC 3 tuần trước cách đây
mục cha
commit
75ecd9b707

+ 6 - 4
bidding-ui/src/views/mine/components/CompOperator.vue

@@ -30,10 +30,12 @@
           身份证扫描件
         </template>
         <div class="demo-image__preview">
-          <el-image v-if="!isEdit" v-for="item, index in ywIdCardCopy.uploadFiles" :key="index"
-            style="width: 100px; height: 100px;margin-left: 20px" :src="item.url" fit="contain"
-            :preview-src-list="[item.url]">
-          </el-image>
+          <template v-if="!isEdit">
+            <el-image v-for="item, index in ywIdCardCopy.uploadFiles" :key="index"
+              style="width: 100px; height: 100px;margin-left: 20px" :src="item.url" fit="contain"
+              :preview-src-list="[item.url]">
+            </el-image>
+          </template>
           <image-upload-json v-if="isEdit" @input="handleUploadIdentityPhoto" :limit="2"
             :value="ywIdCardCopy.uploadFiles" />
           <p v-if="isEdit" style="color: #999999;line-height: 18px;font-size: 12px">

+ 10 - 2
bidding-ui/src/views/mine/components/CompSupplier.vue

@@ -106,10 +106,15 @@
             <el-radio v-model="bs_supplier.pType" :label="1">专票</el-radio>
             <el-radio v-model="bs_supplier.pType" :label="2">普票</el-radio>
           </el-descriptions-item>
+          <el-descriptions-item :span="1" label-style="text-align: center;">
+            <template slot="label">
+              拒绝接收短信
+            </template>
+            <el-switch v-model="bs_supplier.hSms" :active-value="1" :inactive-value="0"></el-switch>
+          </el-descriptions-item>
         </el-descriptions>
         <el-alert title="请检查发票种类,避免开错发票 !" type="error" center></el-alert>
       </div>
-
     </el-form>
     <el-row style="text-align: center;margin-top: 20px">
       <el-button type="primary" @click="yes">确定</el-button>
@@ -150,7 +155,8 @@ export default {
         hProve: null,
         fState: null,
         fStatus: null,
-        pType: 0
+        pType: 0,
+        hSms: null
       },
       //营业执照
       hCopies: '',
@@ -187,6 +193,7 @@ export default {
         this.bs_supplier.hAccount = response.data.hAccount
         this.bs_supplier.fStatus = response.data.fStatus
         this.bs_supplier.pType = response.data.pType
+        this.bs_supplier.hSms = response.data.hSms
         const hCopies = response.data.hCopies
         if (hCopies) {
           const hCopiesArr = JSON.parse(response.data.hCopies)
@@ -253,6 +260,7 @@ export default {
         this.$message.warning('联系方式格式错误')
         return;
       }
+      
       updateSupplier(this.bs_supplier).then(res => {
         if (res.code == 200) {
           this.$message.success(res.msg)

+ 18 - 0
ruoyi-ui/src/api/bank/depositdesc.js

@@ -58,4 +58,22 @@ export function updateDepositdescCustomApply(data) {
     method: 'put',
     data: data
   })
+}
+
+// 获取未退款不明保证金
+export function refundBankUnclearList(query) {
+  return request({
+    url: '/bank/deposit/refundBankUnclearList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 退款失败列表
+export function refundBankUnclearInfo(query) {
+  return request({
+    url: '/bank/deposit/refundBankUnclearInfo',
+    method: 'get',
+    params: query
+  })
 }

+ 9 - 0
ruoyi-ui/src/api/system/quote.js

@@ -34,3 +34,12 @@ export function selectBidQuoteDetailByQid(qid, materialId) {
     },
   });
 }
+
+// 获取投标列表(专家)
+export function getToMarkList(query) {
+  return request({
+    url: "/bidding/mark/getToMarkList",
+    method: "get",
+    params: query,
+  });
+}

+ 86 - 0
ruoyi-ui/src/views/guarantee/defeat/components/bank.vue

@@ -0,0 +1,86 @@
+<template>
+    <div>
+        <el-table v-loading="loading" :data="data">
+            <el-table-column type="index" label="序号" align="center" />
+            <el-table-column label="银行流水号" align="center" prop="rtnSerialno" />
+            <el-table-column label="入账账号" align="center" prop="rtnOppassetno"/>
+            <el-table-column label="入账账户名" align="center" prop="rtnOppassetname"/>
+            <el-table-column label="入账账号行名" align="center" prop="rtnOppbankname"/>
+            <el-table-column label="交易日期" align="center" prop="rtnTradedate" />
+            <el-table-column label="交易金额" align="center" prop="rtnAmt" />
+            <el-table-column label="可退款金额" align="center" prop="rtnSelfbal" />
+            <el-table-column label="摘要" align="center" prop="rtnSummary" />
+            <el-table-column label="进入不明原因" align="center" prop="rtnAdjustreason" />
+            <el-table-column label="银行退款状态" align="center" prop="status" />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+                <template slot-scope="scope">
+                    <el-button size="mini" type="text" icon="el-icon-edit" :loading="backLoading"
+                      @click="handleBackGuarantee(scope.row)">申请线下退还保证金</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+  
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+          @pagination="getList" />
+    </div>
+  </template>
+  
+<script>
+import { refundBankUnclearInfo } from "@/api/bank/depositdesc";
+import { checkRole } from "@/utils/permission"; // 权限判断函数
+  
+export default {
+    data () {
+      return {
+        // 遮罩层
+        loading: true,
+  
+        data: [],
+        total: 0,
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          rtnOppassetno: null,
+          rtnOppassetname: null
+        },
+  
+        backLoading: false
+      }
+    },
+  
+    dicts: ['back_bond_apply'],
+  
+    created () {
+      this.getList()
+    },
+  
+    methods: {
+        checkRole,
+    
+        /** 获取数据 */
+        getList () {
+            this.loading = true;
+            this.data = []
+    
+            refundBankUnclearInfo(this.queryParams).then(response => {
+            this.data = response.rows;
+    
+            this.total = response.total;
+            this.loading = false;
+            });
+        },
+    
+        handleQuery (queryParams) {
+            this.queryParams.pageNum = 1
+            this.queryParams.rtnOppassetno = queryParams.rtnOppassetno
+            this.queryParams.rtnOppassetname = queryParams.rtnOppassetname
+            this.getList()
+        },
+
+        handleBackGuarantee() {
+            
+        }
+    }
+}
+</script>
+  

+ 118 - 0
ruoyi-ui/src/views/guarantee/defeat/components/custom.vue

@@ -0,0 +1,118 @@
+<template>
+    <div>
+        <el-table v-loading="loading" :data="refundList" @selection-change="handleSelectionChange">
+            <el-table-column type="selection" width="55" align="center" />
+            <el-table-column label="采购公告" align="center" prop="cggg"/>
+            <el-table-column label="标段名称" align="center" prop="rtnSgtnm"/>
+            <el-table-column label="项目编号" align="center" prop="rtnPrjno"/>
+            <el-table-column label="项目名称" align="center" prop="rtnPrjnm"/>
+            <el-table-column label="退款状态" align="center" prop="rtnRfndst">
+                <template slot-scope="scope">
+                    <el-tag type="info" v-if="scope.row.rtnRfndst === '5'">退款成功</el-tag>
+                    <el-tag type="warning" v-if="scope.row.rtnRfndst === '7'">退款失败</el-tag>
+                    <el-tag type="danger" v-if="scope.row.rtnRfndst === '3'">退款处理中</el-tag>
+                </template>
+            </el-table-column>
+            <el-table-column label="投标账号" align="center" prop="rtnTdracctno"/>
+            <el-table-column label="投标账户名称" align="center" prop="rtnTdracctnm"/>
+            <el-table-column label="投标账号行号" align="center" prop="rtnTdracctnobnkno"/>
+            <el-table-column label="投标账号行名" align="center" prop="rtnTdracctnobnknm"/>
+            <el-table-column label="保证金金额" align="center" prop="rtnMrgnamt"/>
+            <el-table-column label="退款日期" align="center" prop="rtnRfnddt">
+                <template slot-scope="scope">
+                    {{ formatDate(scope.row.rtnRfnddt, scope.row.rtnRfndtm) }}
+                </template>
+            </el-table-column>
+            <el-table-column label="退款金额" align="center" prop="rtnRfndamt" />
+            <el-table-column label="退款本金" align="center" prop="rtnRfndpnp" />
+            <el-table-column label="退款处理意见" align="center" prop="rtnRfnddealopnn"/>
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+                <template slot-scope="scope">
+                    <el-button size="mini" type="text" icon="el-icon-edit"
+                        @click="handleBackGuarantee(scope.row)" :loading="backLoading">申请线下退还保证金</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+            @pagination="getList" />
+    </div>
+</template>
+
+<script>
+import { listRefund } from "@/api/bank/refund";
+import { checkRole } from "@/utils/permission"; // 权限判断函数
+
+export default {
+    data () {
+        return {
+            // 遮罩层
+            loading: true,
+            // 选中数组
+			ids: [],
+			// 非单个禁用
+			single: true,
+			// 非多个禁用
+			multiple: true,
+
+            // 总条数
+            total: 0,
+            // 查询保证金退款信息表格数据
+            refundList: [],
+            queryParams: {
+                pageNum: 1,
+                pageSize: 10,
+                rtnTdracctnm: null,
+                rtnTdracctno: null,
+                rtnPrjno: null,
+                rtnRfndst: 7
+            },
+
+            backLoading: false
+        }
+    },
+
+    created () {
+        this.getList()
+    },
+    
+    methods: {
+        checkRole,
+
+        /** 获取数据 */
+        getList () {
+            this.loading = true;
+            this.refundList = []
+
+            listRefund(this.queryParams).then(response => {
+                this.refundList = response.rows;
+                this.total = response.total;
+                this.loading = false;
+            });
+        },
+
+        handleQuery (queryParams) {
+            this.queryParams.pageNum = 1
+            this.queryParams.rtnTdracctnm = queryParams.rtnOppassetname
+            this.queryParams.rtnTdracctno = queryParams.rtnOppassetno
+            this.queryParams.rtnPrjno = queryParams.rtnPrjno
+            this.getList()
+        },
+
+        // 多选框选中数据
+		handleSelectionChange(selection) {
+			this.ids = selection.map(item => item.depositdescid)
+			this.single = selection.length !== 1
+			this.multiple = !selection.length
+		},
+
+        formatDate (dateStr, timeStr) {
+            return dateStr.substring(0, 4) + "-" + dateStr.substring(4, 6) + "-" + dateStr.substring(6, 8) + " " + timeStr.substring(0, 2) + ":" + timeStr.substring(2, 4) + ":" + timeStr.substring(4, 6)
+        },
+
+        handleBackGuarantee() {
+
+        }
+    }
+}
+</script>

+ 108 - 0
ruoyi-ui/src/views/guarantee/defeat/index.vue

@@ -0,0 +1,108 @@
+<template>
+    <div class="defeat app-container">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+            <el-form-item label="项目编号" prop="rtnPrjno" v-if="activeName == 'second'">
+                <el-input v-model="queryParams.rtnPrjno" placeholder="请输入项目编号" clearable @keyup.enter.native="handleQuery" />
+            </el-form-item>
+			<el-form-item label="入账账号" prop="rtnOppassetno">
+				<el-input
+					v-model="queryParams.rtnOppassetno"
+					placeholder="请输入入账账号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账户名" prop="rtnOppassetname" label-width="120">
+				<el-input
+					v-model="queryParams.rtnOppassetname"
+					placeholder="请输入入账账户名"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+
+			<el-form-item>
+				<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+				<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+			</el-form-item>
+		</el-form>
+
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+            <el-tab-pane label="银行自动不明失败" name="first">
+                <CompBank ref="refBank"></CompBank>
+            </el-tab-pane>
+            <el-tab-pane label="批量退还失败" name="second">
+                <CompCustom ref="refCustom"></CompCustom>
+            </el-tab-pane>
+        </el-tabs>
+    </div>
+</template>
+
+<script>
+import CompBank from './components/bank.vue'
+import CompCustom from './components/custom.vue'
+import { checkRole } from "@/utils/permission"; // 权限判断函数
+
+export default {
+    name: 'Defeat',
+
+    data() {
+        return {
+            queryParams: {
+                pageNum: 1,
+                pageSize: 10,
+                rtnOppassetno: null,
+                rtnOppassetname: null,
+                rtnPrjno: null
+            },
+
+            activeName: 'first'
+        }
+    },
+
+    components: {
+        CompBank,
+        CompCustom
+    },
+
+    created() {
+    },
+
+    methods: {
+        checkRole,
+
+        handleClick(activeName) {
+            this.queryParams = {
+                ...this.queryParams,
+                pageNum: 1,
+                pageSize: 10
+            }
+
+            if (activeName.name == 'first') {
+                this.$refs.refBank.handleQuery(this.queryParams)
+            } else {
+                this.$refs.refCustom.handleQuery(this.queryParams)
+            }
+        },
+
+        /** 搜索按钮操作 */
+        handleQuery() {
+            this.queryParams.pageNum = 1;
+
+            if (this.activeName == 'first') {
+                this.$refs.refBank.handleQuery(this.queryParams)
+            } else {
+                this.$refs.refCustom.handleQuery(this.queryParams)
+            }
+        },
+
+        /** 重置按钮操作 */
+        resetQuery() {
+            this.queryParams.rtnOppassetno = null
+            this.queryParams.rtnOppassetname = null
+            this.queryParams.rtnPrjno = null
+            this.handleQuery();
+        },
+    }
+}
+</script>

+ 1 - 1
ruoyi-ui/src/views/guarantee/list/index.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="app-container">
       <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-				 label-width="68px">
+				label-width="68px">
 			<el-form-item label="入账账号" prop="rtnOppassetno">
 				<el-input
 					v-model="queryParams.rtnOppassetno"

+ 167 - 0
ruoyi-ui/src/views/guarantee/refundable/index.vue

@@ -0,0 +1,167 @@
+<template>
+    <div class="refundable app-container">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+			<el-form-item label="入账账号" prop="rtnOppassetno">
+				<el-input
+					v-model="queryParams.rtnOppassetno"
+					placeholder="请输入入账账号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账户名" prop="rtnOppassetname" label-width="120">
+				<el-input
+					v-model="queryParams.rtnOppassetname"
+					placeholder="请输入入账账户名"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+			<el-form-item label="入账账号行号" prop="rtnOppbankno" label-width="120">
+				<el-input
+					v-model="queryParams.rtnOppbankno"
+					placeholder="请输入入账账号行号"
+					clearable
+					@keyup.enter.native="handleQuery"
+				/>
+			</el-form-item>
+            <!-- <el-form-item label="退款申请状态" prop="isApply" label-width="100px">
+                <el-select v-model="queryParams.isApply" size="mini" placeholder="请选择" clearable>
+                <el-option v-for="dict in dict.type.back_bond_apply" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
+            </el-form-item> -->
+
+			<el-form-item>
+				<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+				<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+			</el-form-item>
+		</el-form>
+
+        <el-table v-loading="loading" :data="data">
+            <el-table-column type="index" label="序号" align="center" />
+            <el-table-column label="银行流水号" align="center" prop="rtnSerialno" />
+            <el-table-column label="入账账号" align="center" prop="rtnOppassetno"/>
+            <el-table-column label="入账账户名" align="center" prop="rtnOppassetname"/>
+            <el-table-column label="入账账号行名" align="center" prop="rtnOppbankname"/>
+            <el-table-column label="交易日期" align="center" prop="rtnTradedate" />
+            <el-table-column label="交易金额" align="center" prop="rtnAmt" />
+            <el-table-column label="可退款金额" align="center" prop="rtnSelfbal" />
+            <el-table-column label="摘要" align="center" prop="rtnSummary" />
+            <el-table-column label="进入不明原因" align="center" prop="rtnAdjustreason" />
+            <el-table-column label="银行退款状态" align="center" prop="status" />
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+                <template slot-scope="scope">
+                    <el-button size="mini" type="text" icon="el-icon-edit"
+                        @click="handleBackGuarantee(scope.row)" :loading="backLoading">确认退还保证金</el-button>
+                    <!-- <el-button v-if="checkRole(['centerAdjunct']) && scope.row.isApply == 0"
+                        size="mini" type="text" icon="el-icon-edit"
+                        @click="handleBackApply(scope.row, 1)" :loading="backLoading">申请退还保证金</el-button>
+                    <template v-if="checkRole(['centerFinance'])">
+                        
+                        <el-button v-if="scope.row.isApply == 1" size="mini" type="text"
+                            icon="el-icon-edit" @click="handleBackApply(scope.row, 0)" :loading="backLoading">驳回申请</el-button>
+                    </template> -->
+                </template>
+            </el-table-column>
+        </el-table>
+
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+            @pagination="getList" />
+    </div>
+</template>
+
+<script>
+import {
+  listUncleardeposit,
+  getUncleardeposit,
+  updateDepositdescApply
+} from "@/api/bank/uncleardeposit";
+import { refundBankUnclearList } from "@/api/bank/depositdesc";
+import { checkRole } from "@/utils/permission"; // 权限判断函数
+
+export default {
+    name: 'Refundable',
+
+    data() {
+        return {
+            // 遮罩层
+            loading: false,
+            data: [],
+
+            total: 0,
+            queryParams: {
+                pageNum: 1,
+                pageSize: 10,
+                rtnOppassetno: null,
+                rtnOppassetname: null,
+                rtnOppbankno: null,
+                isApply: null
+            },
+
+            backLoading: false
+        }
+    },
+
+    dicts: ['back_bond_apply'],
+
+    created() {
+        this.getList()
+    },
+
+    methods: {
+        checkRole,
+
+        /** 搜索按钮操作 */
+        handleQuery() {
+            this.queryParams.pageNum = 1;
+        },
+
+        /** 重置按钮操作 */
+        resetQuery() {
+            this.queryParams.rtnOppassetno = null
+            this.queryParams.rtnOppassetname = null
+            this.queryParams.rtnOppbankno = null
+            this.queryParams.isApply = null
+            this.handleQuery();
+        },
+
+        /** 获取数据 */
+        getList () {
+            this.loading = true;
+            this.data = []
+
+            refundBankUnclearList(this.queryParams)
+            .then(response => {
+                this.data = response.rows;
+
+                this.total = response.total;
+                this.loading = false;
+            });
+        },
+
+        // 退还保证金
+        handleBackGuarantee(row) {
+            this.backLoading = true
+            const uncleardepositid = row.uncleardepositid
+            const rtnOppassetname = row.rtnOppassetname
+            
+            this.$modal.confirm('是否确认退还 ' + rtnOppassetname +' 的保证金?')
+            .then(() => {
+                getUncleardeposit(uncleardepositid)
+                .then(response => {
+                    this.$message.success('退款申请已发送,等待银行退款中')
+                    this.getList()
+                    this.backLoading = false
+                })
+                .catch(err => {
+                    this.backLoading = false
+                })
+            })
+            .catch(() => {
+                this.backLoading = false
+            })
+        },
+    }
+}
+</script>