瀏覽代碼

no message

aXin-0810 9 月之前
父節點
當前提交
01714f60e0

+ 41 - 0
src/api/settleManagElecpay.js

@@ -0,0 +1,41 @@
+import request, { postBlob, getBlob, handleImport } from '@/utils/request'
+
+export function settlementOrderNewListPageV2(data) {
+  return request({
+    url: `/settlementOrderNew/list/pageV2?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+export function settlementOrderNewPageExport(data, name) {
+  return postBlob({
+    url: '/settlementOrderNew/pageExport',
+    data,
+    name
+  })
+}
+
+export function settlementOrderNewDetail(params) {
+  return request({
+    url: '/settlementOrderNew/detail',
+    method: 'post',
+    params
+  })
+}
+
+export function settlementOrderNewLineSettlement(params) {
+  return request({
+    url: `/settlementOrderNew/lineSettlement`,
+    method: 'post',
+    params
+  })
+}
+
+export function settlementOrderNewSettlement(params) {
+  return request({
+    url: `/settlementOrderNew/settlement`,
+    method: 'post',
+    params
+  })
+}

+ 207 - 0
src/views/mallManagement/settleManagElecpay/index.vue

@@ -0,0 +1,207 @@
+<template>
+  <zj-tab-page ref="tabPage" :defaultActives="[{ key: 'list', label: $route.meta.title + '-列表', essential: true }]">
+    <template slot-scope="{ activeKey, data }">
+      <template-page
+        v-if="activeKey == 'list'"
+        ref="pageRef"
+        :get-list="getList"
+        :table-attributes="tableAttributes"
+        :table-events="tableEvents"
+        :options-evens-group="optionsEvensGroup"
+        :moreParameters="moreParameters"
+        :column-parsing="columnParsing"
+        :operation="operation()"
+        :exportList="exportList"
+      >
+      </template-page>
+      <div v-if="~['remark'].indexOf(activeKey)">
+        <zj-form-container ref="formRef" :form-data="formData" :styleSwitch="false">
+          <zj-form-module
+            title=""
+            label-width="100px"
+            :showPackUp="false"
+            :form-data="formData"
+            :form-items="formItems"
+          >
+          </zj-form-module>
+        </zj-form-container>
+        <div slot="footer" class="dialog-footer">
+          <el-button size="mini" @click="data.removeTab()">取 消</el-button>
+          <el-button size="mini" @click="formConfirm(data.removeTab)" type="primary">确 定</el-button>
+        </div>
+      </div>
+    </template>
+  </zj-tab-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import { required, mobileRequired, mobile } from '@/components/template/rules_verify.js'
+import {
+  settlementOrderNewListPageV2,
+  settlementOrderNewPageExport,
+  settlementOrderNewDetail,
+  settlementOrderNewLineSettlement,
+  settlementOrderNewSettlement
+} from '@/api/settleManagElecpay'
+import operation_mixin from '@/components/template/operation_mixin.js'
+export default {
+  components: { TemplatePage },
+  mixins: [import_mixin, operation_mixin],
+  data() {
+    return {
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true,
+        selectable: this.selectable
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      // 勾选选中行
+      recordSelected: [],
+      /** 表单变量 */
+      formDialogType: 0,
+      formDialogTitles: ['备注'],
+      formDialog: false,
+      formData: {
+        remark: ''
+      },
+      formType: 'add',
+      formVisible: false
+    }
+  },
+  computed: {
+    // 更多参数
+    moreParameters() {
+      return []
+    },
+    // 事件组合
+    optionsEvensGroup() {
+      return [
+        [
+          [
+            this.optionsEvensAuth('batchLedger', {
+              click: () => {
+                if (this.recordSelected.length === 0) {
+                  this.$message.warning('请勾选数据')
+                  return
+                }
+                settlementOrderNewSettlement({
+                  id: this.recordSelected.map(item => item.id).join(',')
+                }).then(res => {
+                  this.$message({ type: 'success', message: `结算成功!` })
+                  this.$refs.pageRef.refreshList()
+                })
+              }
+            })
+          ]
+        ]
+      ]
+    },
+    formItems() {
+      return []
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList: settlementOrderNewListPageV2,
+    // 列表导出函数
+    exportList: settlementOrderNewPageExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    selectable(row, index) {
+      return ['WAIT'].includes(Object.entries(row.selectMapData.status).find(([key, val]) => val == row.status)?.[0])
+    },
+    // 表格操作列
+    operation() {
+      return this.operationBtn({
+        details: {
+          click: ({ row, index, column }) => {
+            console.log(row)
+          }
+        },
+        settle: {
+          conditions: ({ row, index, column }) => {
+            return row.status === 'WAIT'
+          },
+          btnType: 'text',
+          prompt: '是否确定结算?',
+          click: ({ row, index, column }) => {
+            settlementOrderNewSettlement({
+              id: row.id
+            }).then(res => {
+              this.$message({ type: 'success', message: `结算成功!` })
+              this.$refs.pageRef.refreshList()
+            })
+          }
+        },
+        offlineSettle: {
+          conditions: ({ row, index, column }) => {
+            return row.status === 'YC'
+          },
+          btnType: 'text',
+          prompt: '是否确定结算?',
+          click: ({ row, index, column }) => {
+            settlementOrderNewLineSettlement({
+              id: row.id
+            }).then(res => {
+              this.$message({ type: 'success', message: `结算成功!` })
+              this.$refs.pageRef.refreshList()
+            })
+          }
+        }
+      })
+    },
+    openForm(type) {
+      this.$refs.tabPage.addTab({
+        // 对应显示的模块
+        activeKey: type,
+        // 唯一标识
+        key: type,
+        // 页签名称
+        label: { remark: '备注' }[type],
+        // 打开时事件
+        triggerEvent: () => {
+          this.formCancel()
+          this.$nextTick(() => {
+            this.formType = type
+            this.formVisible = true
+          })
+        },
+        // 关闭时事件
+        closeEvent: () => {
+          this.formCancel()
+        }
+      })
+    },
+    formCancel() {
+      this.formVisible = false
+      this.$refs?.formRef?.resetFields()
+      this.$data.formRef = this.$options.data().formRef
+    },
+    formConfirm(cancel) {
+      this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
+        if (valid) {
+          ;[saveRemark][this.formDialogType](this.formData).then(res => {
+            this.$message({ type: 'success', message: `${this.formDialogTitles[this.formDialogType]}成功!` })
+            cancel('list')
+            this.$refs.pageRef.refreshList()
+          })
+        }
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 11 - 9
src/views/setting/departmentManage/index.vue

@@ -76,7 +76,7 @@
           </div>
         </div>
         <div v-if="~['add', 'edit'].indexOf(activeKey)">
-          <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="100px">
+          <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="120px">
             <el-row :gutter="20" justify="start">
               <el-col :span="6">
                 <el-form-item label="上级" prop="parentId">
@@ -163,7 +163,7 @@
                         v-model="scope.row.name"
                         placeholder="请输入内容"
                       ></el-input>
-                      <span v-else>{{ scope.row.type }}</span>
+                      <span v-else>{{ scope.row.name }}</span>
                     </template>
                   </el-table-column>
                   <el-table-column prop="orgId" label="通联集团号">
@@ -173,7 +173,7 @@
                         v-model="scope.row.orgId"
                         placeholder="请输入内容"
                       ></el-input>
-                      <span v-else>{{ scope.row.type }}</span>
+                      <span v-else>{{ scope.row.orgId }}</span>
                     </template>
                   </el-table-column>
                   <el-table-column prop="type" label="类别">
@@ -196,7 +196,7 @@
                         v-model="scope.row.mchNo"
                         placeholder="请输入内容"
                       ></el-input>
-                      <span v-else>{{ scope.row.type }}</span>
+                      <span v-else>{{ scope.row.mchNo }}</span>
                     </template>
                   </el-table-column>
                   <el-table-column prop="appid" label="通联商户appid">
@@ -206,7 +206,7 @@
                         v-model="scope.row.appid"
                         placeholder="请输入内容"
                       ></el-input>
-                      <span v-else>{{ scope.row.type }}</span>
+                      <span v-else>{{ scope.row.appid }}</span>
                     </template>
                   </el-table-column>
                   <el-table-column prop="status" label="状态">
@@ -326,7 +326,8 @@ export default {
         name: [{ required: true, message: '请填写网点名称', trigger: 'blur' }],
         linkName: [{ required: true, message: '请填写联系人名称', trigger: 'blur' }],
         websitPhone: [{ required: true, message: '请填写联系人电话', trigger: 'blur' }],
-        address: [{ required: true, message: '请选择GPS地址', trigger: 'blur' }]
+        address: [{ required: true, message: '请选择GPS地址', trigger: 'blur' }],
+        payWorkerCodeId: [{ required: true, message: '请选择电子支付商户', trigger: 'blur' }]
       },
       indexs: [0]
     }
@@ -533,11 +534,12 @@ export default {
       adminWebsitSavePayConfig({
         ...{
           companyWechatName: JSON.parse(localStorage.getItem('greemall_user'))?.companyName || '',
-          companyWechatId: JSON.parse(localStorage.getItem('greemall_user'))?.companyWechatId || ''
+          companyWechatId: JSON.parse(localStorage.getItem('greemall_user'))?.companyWechatId || '',
+          websitId: this.editId
         },
         ...data.row
       }).then(res => {
-        getDepartmentDetail({ id: data.row.websitId }).then(res => {
+        getDepartmentDetail({ id: this.editId }).then(res => {
           this.mainForm = {
             parentId: res.data.parentId,
             name: res.data.name,
@@ -567,7 +569,7 @@ export default {
       adminWebsitDeletePayConfig({
         id: data.row.id
       }).then(res => {
-        getDepartmentDetail({ id: data.row.websitId }).then(res => {
+        getDepartmentDetail({ id: this.editId }).then(res => {
           this.mainForm = {
             parentId: res.data.parentId,
             name: res.data.name,

+ 6 - 3
src/views/setting/organizationManagement/paymentMerchantManagement/index.vue

@@ -80,7 +80,7 @@ export default {
         mchKey: '',
         payMerchantName: '',
         remark: '',
-        status: '',
+        status: true,
         subAppId: '',
         subMchId: '',
         appletAppid: '',
@@ -285,6 +285,7 @@ export default {
               this.formDialogType = 1
               this.formData = { ...res.data }
               this.formDialog = true
+              this.$refs.pageRef.refreshList()
             })
           }
         },
@@ -295,6 +296,7 @@ export default {
             }).then(res => {
               this.formData = { ...res.data }
               this.formDialog = true
+              this.$refs.pageRef.refreshList()
             })
           }
         }
@@ -310,7 +312,7 @@ export default {
         mchKey: '',
         payMerchantName: '',
         remark: '',
-        status: '',
+        status: true,
         subAppId: '',
         subMchId: '',
         appletAppid: '',
@@ -325,7 +327,7 @@ export default {
         mchKey: '',
         payMerchantName: '',
         remark: '',
-        status: '',
+        status: true,
         subAppId: '',
         subMchId: '',
         appletAppid: '',
@@ -342,6 +344,7 @@ export default {
               type: 'success',
               message: '保存成功'
             })
+            this.$refs.pageRef.refreshList()
             this.handleClose()
           })
         }

+ 0 - 1
src/views/setting/organizationManagement/settledManagement/index.vue

@@ -68,7 +68,6 @@
                   <el-input
                     placeholder="请选择地址"
                     autocomplete="off"
-                    readonly
                     style="margin-right: 20px"
                     v-model="step1Form.address"
                   ></el-input>