Procházet zdrojové kódy

feat: 修改字典接口

aXin-0810 před 2 roky
rodič
revize
2f988b5f55

+ 1 - 1
src/api/dataDictionary2.js

@@ -50,7 +50,7 @@ export function dictDetail(params) {
 
 export function dictListDict(params) {
   return request({
-    url: `/dict/listDict`,
+    url: `/common/dict/listDict`,
     method: 'post',
     params
   })

+ 2 - 2
src/components/template/template-page-1.vue

@@ -30,7 +30,7 @@
 
 <script>
 import { zfireSave, zfireDel } from '@/api/fieldMan.js'
-import { dictListDict } from '@/api/dataDictionary.js'
+import { dictListDict } from '@/api/dataDictionary2.js'
 import SelExportColumnList from './sel-export-column-list.vue'
 import selectData from './selectData.js'
 export default {
@@ -200,7 +200,7 @@ export default {
             if (selectData[code]) {
               return selectData[code]()
             }
-            return dictListDict({ dictType: code })
+            return dictListDict({ code: code })
           })
         ).then(resAll => {
           codes.map((code, index) => {

+ 119 - 307
src/views/finance/change_list.vue

@@ -1,314 +1,31 @@
 <template>
-  <div class="app-container">
-    <div v-if="showPage == 1">
-      <!-- 筛选条件 -->
-      <div>
-        <Collapse :screen-form="searchForm">
-          <template #right_btn>
-            <el-button size="mini" @click="clearFn">清空</el-button>
-            <el-button size="mini" type="primary" @click="searchFn">搜索</el-button>
-          </template>
-          <template #left_btn>
-            <el-radio-group @change="changeRadioGroupFn" v-model="category" size="mini">
-              <el-radio-button label="">全部</el-radio-button>
-              <el-radio-button label="WAIT">待审核</el-radio-button>
-              <el-radio-button label="OK">审核通过</el-radio-button>
-              <el-radio-button label="REJECT">已驳回</el-radio-button>
-              <!-- <el-radio-button label="FAIL_ONE">审核驳回</el-radio-button> -->
-              <!-- <el-radio-button label="复核通过"></el-radio-button>
-              <el-radio-button label="待复核"></el-radio-button>
-              <el-radio-button label="复核驳回"></el-radio-button> -->
-            </el-radio-group>
-          </template>
-          <template #search>
-            <el-form ref="searchForm" :model="searchForm" label-width="100px" size="mini" label-position="left">
-              <el-row :gutter="20">
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="返利互转单号" prop="id">
-                    <el-input v-model="searchForm.id" placeholder="请输入"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商名称" prop="customerName">
-                    <el-input v-model="searchForm.customerName" placeholder="请输入"></el-input>
-                  </el-form-item>
-                </el-col>
-
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="返利类型" prop="walletName">
-                    <el-input v-model="searchForm.walletName" placeholder="请输入"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="申请日期" prop="startTime">
-                    <el-date-picker
-                      class="dateStyle"
-                      v-model="searchForm.startTime"
-                      placeholder="选择日期"
-                      type="datetime"
-                      value-format="yyyy-MM-dd HH:mm:ss"
-                    >
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-          </template>
-        </Collapse>
-      </div>
-
-      <br />
-
-      <strong>返利互转单列表</strong>
-      <el-divider></el-divider>
-      <!-- 列表 -->
-      <div class="mymain-container">
-        <div class="table">
-          <el-table
-            v-loading="listLoading"
-            :data="dataList"
-            element-loading-text="Loading"
-            border
-            fit
-            highlight-current-row
-            stripe
-            show-summary
-            :summary-method="$getSummaries"
-          >
-            <el-table-column label="序号" align="left" width="100" type="index" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="状态" prop="examineStatus" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <el-tag size="mini" type="" v-show="scope.row.examineStatus == 'SAVE'">保存</el-tag>
-                <el-tag size="mini" type="warning" v-show="scope.row.examineStatus == 'WAIT'">待审核</el-tag>
-                <el-tag size="mini" type="success" v-show="scope.row.examineStatus == 'OK'">审核通过</el-tag>
-                <!-- <el-tag size="mini" type="danger" v-show="scope.row.examineStatus == 'FALL'">初审不通过</el-tag> -->
-                <!-- <el-tag size="mini" type="success" v-show="scope.row.examineStatus == 'OK'">复核通过</el-tag>
-                <el-tag size="mini" type="danger" v-show="scope.row.examineStatus == 'FALL'">不通过</el-tag> -->
-                <el-tag size="mini" type="info" v-show="scope.row.examineStatus == 'CLOSE'">已关闭</el-tag>
-                <el-tag size="mini" type="danger" v-show="scope.row.examineStatus == 'REJECT'">驳回</el-tag>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="返利转账单号" prop="id" min-width="200" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.id" />
-                <span>{{ scope.row.id }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="申请日期" prop="applyTime" min-width="160" show-overflow-tooltip>
-              <!-- <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.applyTime }}</span>
-                  <el-button
-                    type="text"
-                    icon="el-icon-edit"
-                    style="padding: 0; margin-left: 6px"
-                    @click="editDate(scope.row)"
-                  ></el-button>
-                </div>
-              </template> -->
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="发起方经销商编号"
-              prop="customerNumber"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerNumber" />
-                <span>{{ scope.row.customerNumber }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="发起方经销商名称"
-              prop="customerName"
-              min-width="260"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{ scope.row.customerName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="发起方表体备注"
-              prop="initiatorRemark"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="发起方返利类型"
-              prop="initiatorCustomerWalletName"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column align="right" label="返利金额" prop="amount" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.amount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="折让金额"
-              prop="allowanceAmount"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.allowanceAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="接收方经销商编号"
-              prop="receiverCustomerNumber"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.receiverCustomerNumber" />
-                <span>{{ scope.row.receiverCustomerNumber }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="接收方经销商名称"
-              prop="receiverCustomerName"
-              min-width="260"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.receiverCustomerName" />
-                <span>{{ scope.row.receiverCustomerName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="接收方表体备注"
-              prop="receiverRemark"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="接收方返利类型"
-              prop="receiverCustomerWalletName"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="备注"
-              prop="remark"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="制单人"
-              prop="createBy"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="审核人"
-              prop="examineBy"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="审核日期"
-              prop="examineTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <!-- <el-table-column
-              align="left"
-              label="复核人"
-              prop="secondExamineBy"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="复核日期"
-              prop="secondExamineTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column> -->
-
-            <el-table-column align="center" label="操作" min-width="200" show-overflow-tooltip fixed="right">
-              <template slot-scope="scope">
-                <el-button
-                  @click="submitFn(scope.row.id)"
-                  v-if="$checkBtnRole('apply', $route.meta.roles)  && scope.row.examineStatus == 'SAVE'"
-                  type="text"
-                  class="textColor"
-                  slot="reference"
-                  >提审</el-button
-                >
-                <!-- <el-button v-if="isCustomer && scope.row.examineStatus == 'WAIT'" type="text" class="textColor" slot="reference" @click="withdrawFn">撤回</el-button> -->
-                <el-button
-                  v-if="scope.row.examineStatus == 'WAIT' && !isCustomer && $checkBtnRole('examine', $route.meta.roles)"
-                  @click="examineFn(scope.row.id)"
-                  type="text"
-                  class="textColor"
-                  slot="reference"
-                  >审核</el-button
-                >
-                <el-button
-                  v-if="
-                    (scope.row.examineStatus == 'FAIL_ONE' || scope.row.examineStatus == 'SAVE') &&
-                    $checkBtnRole('edit', $route.meta.roles)
-                  "
-                  type="text"
-                  class="textColor"
-                  slot="reference"
-                  @click="editFn(scope.row.id)"
-                  >修改</el-button
-                >
-                <el-button @click="detailFn(scope.row.id)" type="text" class="textColor" slot="reference"
-                  >详情</el-button
-                >
-                <el-button
-                  v-if="scope.row.examineStatus == 'WAIT'"
-                  @click="cancelFn(scope.row.id)"
-                  type="text"
-                  class="textColor"
-                  slot="reference"
-                  >取消</el-button
-                >
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
-        <!-- 分页 -->
-        <div class="fr">
-          <el-pagination
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page="currentPage"
-            :page-sizes="[10, 20, 30, 50]"
-            :page-size="pageSize"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal"
-          >
-          </el-pagination>
-        </div>
-      </div>
+  <div style="width: 100%; height: 100%">
+    <template-page
+      v-if="showPage == 1"
+      ref="pageRef"
+      :operation="operation()"
+      :optionsEvensGroup="optionsEvensGroup"
+      :getList="getList"
+      :exportList="exportList"
+      :tableAttributes="tableAttributes"
+      :tableEvents="tableEvents"
+      :columnParsing="columnParsing"
+    >
+    </template-page>
+    <div class="app-container" v-else-if="showPage == 2">
+      <ChangeListDetail :detailList="detailList" />
+    </div>
+    <div class="app-container" v-else-if="showPage == 3">
+      <ChangeListExamine @refresh="refreshFn" :detailList="detailList" />
+    </div>
+    <div class="app-container" v-else-if="showPage == 4">
+      <ChangeListReview @refresh="refreshFn" :detailList="detailList" />
     </div>
-    <ChangeListDetail :detailList="detailList" v-else-if="showPage == 2" />
-    <ChangeListExamine @refresh="refreshFn" :detailList="detailList" v-else-if="showPage == 3" />
-    <ChangeListReview @refresh="refreshFn" :detailList="detailList" v-else-if="showPage == 4" />
   </div>
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
 import { getChangeList, getChangeListDetail, getTransferSubmit, getTransferCancel } from '@/api/finance/change_list'
 import ChangeListDetail from './components/change_list-detail'
 import ChangeListExamine from './components/change_list-examine'
@@ -317,7 +34,8 @@ export default {
   components: {
     ChangeListDetail,
     ChangeListExamine,
-    ChangeListReview
+    ChangeListReview,
+    TemplatePage
   },
   data() {
     return {
@@ -336,7 +54,18 @@ export default {
       category: '',
       showPage: 1,
       isCollapse: true,
-      detailList: {}
+      detailList: {},
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: []
     }
   },
   created() {
@@ -345,6 +74,89 @@ export default {
     this.getDataList()
   },
   methods: {
+    // 列表请求函数
+    getList: getCreditList,
+    // 列表导出函数
+    exportList: getCreditListExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            {this.$checkBtnRole('apply', this.$route.meta.roles) && row.examineStatus == 'SAVE' ? (
+              <el-button
+                onClick={() => {
+                  this.submitFn(row.id)
+                }}
+                type="text"
+                class="textColor"
+                slot="reference"
+              >
+                提审
+              </el-button>
+            ) : null}
+            {row.examineStatus == 'WAIT' &&
+            !this.isCustomer &&
+            this.$checkBtnRole('examine', this.$route.meta.roles) ? (
+              <el-button
+                onClick={() => {
+                  this.examineFn(row.id)
+                }}
+                type="text"
+                class="textColor"
+                slot="reference"
+              >
+                审核
+              </el-button>
+            ) : null}
+            {(row.examineStatus == 'FAIL_ONE' || row.examineStatus == 'SAVE') &&
+            this.$checkBtnRole('edit', this.$route.meta.roles) ? (
+              <el-button
+                type="text"
+                class="textColor"
+                slot="reference"
+                onClick={() => {
+                  this.editFn(row.id)
+                }}
+              >
+                修改
+              </el-button>
+            ) : null}
+
+            <el-button
+              onClick={() => {
+                this.detailFn(row.id)
+              }}
+              type="text"
+              class="textColor"
+              slot="reference"
+            >
+              详情
+            </el-button>
+            {row.examineStatus == 'WAIT' ? (
+              <el-button
+                v-if="scope.row.examineStatus == 'WAIT'"
+                onClick={() => {
+                  this.cancelFn(row.id)
+                }}
+                type="text"
+                class="textColor"
+                slot="reference"
+              >
+                取消
+              </el-button>
+            ) : null}
+          </div>
+        )
+      }
+    },
     //取消
     async cancelFn(id) {
       await getTransferCancel({ id })