Quellcode durchsuchen

Merge branch 'online' into LAO_MO

mo vor 4 Jahren
Ursprung
Commit
234c97e071

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/index.html


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/css/chunk-2e07e005.46b1cda7.css


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/css/chunk-3266d3d8.fc8d608b.css


+ 1 - 1
dist/static/css/chunk-b004de4e.c5849bef.css → dist/static/css/chunk-5b65359f.33903005.css

@@ -1 +1 @@
-.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.inputStyle[data-v-92ffe0b0]{width:100px;text-align:center}.title[data-v-0eb05fc4]{margin-bottom:20px}.amap-demo[data-v-0eb05fc4]{height:300px}.inputStyle[data-v-7d789d15]{width:100px;text-align:center}.work[data-v-7d789d15]{margin-bottom:30px;font-size:16px}.visible[data-v-b687ec48]{visibility:hidden}.cl-container .topFrom[data-v-b687ec48]{margin:20px 30px 0}.cl-container .topFrom .classlist[data-v-b687ec48]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cl-container .topFrom .classlist ul li[data-v-b687ec48]{list-style:none}.cl-container .searchForm[data-v-b687ec48]{margin:0 30px}.btnWraps[data-v-b687ec48]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btnWraps div[data-v-b687ec48]{margin-right:20px}.inputStyle[data-v-b687ec48]{width:180px}.red[data-v-b687ec48]{color:red}.exportBtn[data-v-b687ec48]{background:#13817a}
+.pagination-container[data-v-31cb099a]{background:#fff;padding:32px 16px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination-container.hidden[data-v-31cb099a]{display:none}.inputStyle[data-v-92ffe0b0]{width:100px;text-align:center}.title[data-v-0eb05fc4]{margin-bottom:20px}.amap-demo[data-v-0eb05fc4]{height:300px}.inputStyle[data-v-7d789d15]{width:100px;text-align:center}.work[data-v-7d789d15]{margin-bottom:30px;font-size:16px}.visible[data-v-7a1484b1]{visibility:hidden}.cl-container .topFrom[data-v-7a1484b1]{margin:20px 30px 0}.cl-container .topFrom .classlist[data-v-7a1484b1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cl-container .topFrom .classlist ul li[data-v-7a1484b1]{list-style:none}.cl-container .searchForm[data-v-7a1484b1]{margin:0 30px}.btnWraps[data-v-7a1484b1]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btnWraps div[data-v-7a1484b1]{margin-right:20px}.inputStyle[data-v-7a1484b1]{width:180px}.red[data-v-7a1484b1]{color:red}.exportBtn[data-v-7a1484b1]{background:#13817a}

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/css/chunk-f9c87556.5119d197.css


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/app.aaa4f56b.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-079a7cbd.c8c648b8.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-2e07e005.d5bbff8d.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-3266d3d8.ee6ecac4.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-5b65359f.9929103b.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-b004de4e.3369ec6e.js


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 0
dist/static/js/chunk-f9c87556.ee627318.js


+ 1 - 0
package.json

@@ -14,6 +14,7 @@
     "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
   },
   "dependencies": {
+    "@babel/plugin-proposal-optional-chaining": "^7.11.0",
     "axios": "0.18.1",
     "browserslist": "^4.13.0",
     "caniuse-lite": "^1.0.30001109",

+ 8 - 1
src/api/businessManager.js

@@ -88,4 +88,11 @@ export function updateCostMargin (data) {
     data: qs.stringify(data)
   })
 }
-
+// 进货清单
+export function getGoodsProcurements (data) {
+  return request({
+    url: api + '/goodsProcurement/queryGoodsProcurements',
+    method: 'get',
+    params: data
+  })
+}

+ 14 - 1
src/api/orderManager.js

@@ -1,5 +1,7 @@
 // 系统专项设置api文件
 import request from '@/utils/request'
+import request2 from '@/utils/request2'
+
 import qs from 'qs'
 let api = '/api-web'
 // 订单列表
@@ -185,6 +187,17 @@ export function updateSellOrder (data) {
     params: data
   })
 }
+
+// 销售列表退费
+export function refundSellOrder (data) {
+  return request2({
+    url: api + '/sellOrder/refund',
+    method: 'POST',
+    params: data,
+    hint: true
+  })
+}
+
 // 获取订单详情
 export function getOrderInfo (data) {
   return request({
@@ -201,4 +214,4 @@ export function orderDelete (data) {
     method: 'POST',
     data: qs.stringify(data)
   })
-}
+}

+ 3 - 1
src/router/index.js

@@ -330,6 +330,8 @@ export const asyncRoutes = {
   // 查看乐团基本信息
   teamLookBase: () => import('@/views/teamDetail/teamInfo'),
   // 更换列表
-  resetList: () => import('@/views/businessManager/resetList')
+  resetList: () => import('@/views/businessManager/resetList'),
+  // 进货清单
+  purchaseLlist: () => import('@/views/businessManager/shopManager/purchase-llist')
 }
 export default router

+ 171 - 0
src/utils/request2.js

@@ -0,0 +1,171 @@
+import ElementUI from 'element-ui'
+import axios from 'axios'
+import { Message } from 'element-ui'
+import store from '@/store'
+import { getToken } from '@/utils/auth'
+import cleanDeep from 'clean-deep'
+// import { Loading } from 'element-ui'
+import load from '@/utils/loading'
+import router from '@/router/index'
+import Vue from 'vue'
+const showMessage = Symbol('showMessage')
+class DonMessage {
+  success (options, single = true) {
+    this[showMessage]('success', options, single)
+  }
+  warning (options, single = true) {
+    this[showMessage]('warning', options, single)
+  }
+  info (options, single = true) {
+    this[showMessage]('info', options, single)
+  }
+  error (options, single = true) {
+    this[showMessage]('error', options, single)
+  }
+  [showMessage] (type, options, single) {
+    if (single) {
+      // 判断是否已存在Message
+      if (document.getElementsByClassName('el-message').length === 0) {
+        Message[type](options)
+      }
+    } else {
+      Message[type](options)
+    }
+  }
+}
+
+Vue.use(ElementUI)
+// 命名根据需要,DonMessage只是在文章中使用
+Vue.prototype.$message = new DonMessage()
+
+let vue = new Vue()
+
+// let loading        //定义loading变量
+
+// function startLoading () {    //使用Element loading-start 方法
+//   loading = Loading.service({
+//     lock: true,
+//     fullscreen: true,
+//     text: '加载中……',
+//     background: 'rgba(0, 0, 0, 0.7)'
+//   })
+// }
+// function endLoading () {
+//   //使用Element loading-close 方法
+//   loading.close();
+// }
+//那么 showFullScreenLoading() tryHideFullScreenLoading() 要干的事儿就是将同一时刻的请求合并。
+//声明一个变量 needLoadingRequestCount,每次调用showFullScreenLoading方法 needLoadingRequestCount + 1。
+//调用tryHideFullScreenLoading()方法,needLoadingRequestCount - 1。needLoadingRequestCount为 0 时,结束 loading。
+let needLoadingRequestCount = 0
+function showFullScreenLoading () {
+  if (needLoadingRequestCount === 0) {
+    load.startLoading()
+  }
+  needLoadingRequestCount++
+
+}
+
+function tryHideFullScreenLoading () {
+  if (needLoadingRequestCount <= 0) return
+  needLoadingRequestCount--
+  if (needLoadingRequestCount === 0) {
+    load.endLoading();
+
+  }
+
+}
+
+// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
+
+
+// create an axios instance
+const service = axios.create({
+  baseURL: '', // url = base url + request url
+  // withCredentials: true, // send cookies when cross-domain requests
+  timeout: 180000, // request timeout
+})
+// { fullscreen: true, text: '努力加载中', spinner: 'el-icon-loading' }
+// request interceptor
+service.interceptors.request.use(
+  config => {
+    // do something before request is sent
+    showFullScreenLoading()
+    if (store.getters.token) {
+      // let each request carry token
+      // ['X-Token'] is a custom headers key
+      // please modify it according to the actual situation
+      config.headers['Authorization'] = getToken()
+      // config.headers['content-type'] = "application/x-www-form-urlencoded"
+    }
+    config.params = cleanDeep(config.params)
+    //  params: cleanDeep(options.params),
+    return config
+  },
+  error => {
+    // do something with request error
+    tryHideFullScreenLoading()
+    return Promise.reject(error)
+
+  }
+)
+
+// response interceptor
+service.interceptors.response.use(
+  res => {
+    //res.code !== 200
+    if (res.data) {
+      let data = JSON.parse(JSON.stringify(res.data))
+      // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
+      if (data.code == 401 || data.code == 403) {
+        // Message({
+        //   message: `登录过期,请重新登录!`,
+        //   type: 'error',
+        //   duration: 5 * 1000
+        // })
+        vue.$message.error(`登录过期,请重新登录!`)
+        setTimeout(() => {
+          tryHideFullScreenLoading()
+          store.dispatch('user/resetToken').then(() => {
+            location.reload()
+          })
+        }, 1000);
+        return;
+      }
+      if (data.code == 404) {
+        router.push('/404')
+      }
+      if (data.code != 200) {
+        // Message({
+        //   message: data.msg || `请求失败code码为${ data.code }`,
+        //   type: 'error',
+        //   duration: 5 * 1000
+        // })
+        let str = data.msg || `请求失败code码为${data.code}`
+        if (res.config.hint !== true) {
+          vue.$message.error(str)
+        }
+        tryHideFullScreenLoading()
+        return Promise.reject(data)
+      } else {
+        tryHideFullScreenLoading()
+        return data
+
+      }
+    } else {
+
+      tryHideFullScreenLoading()
+      return Promise.reject()
+    }
+  },
+  error => {
+    if (error.message == 'Network Error') {
+      vue.$message.error('网络异常,请检查网络连接')
+    } else {
+      vue.$message.error(error.message)
+    }
+    tryHideFullScreenLoading()
+    return Promise.reject(error)
+  }
+)
+export default service

+ 9 - 0
src/utils/vueFilter.js

@@ -403,6 +403,15 @@ Vue.filter('vipCourseStatus', value => {
   return template[value]
 })
 
+// 账号类型
+Vue.filter('accountTypeFormat', value => {
+  let template = {
+    INTERNAL: "对内",
+    EXTERNAL: "对外",
+  }
+  return template[value]
+})
+
 // 交易状态
 Vue.filter('paymentChannelStatus', value => {
   let template = {

+ 75 - 1
src/views/businessManager/orderManager/salesList.vue

@@ -160,11 +160,19 @@
           </el-table-column>
           <el-table-column align='center'
                            fixed="right"
+                           width="150px"
                            label="操作">
             <template slot-scope="scope">
               <el-button @click="onBackMoney(scope.row)"
                          v-permission="'sellOrder/update'"
                          type="text">修改成本</el-button>
+              <el-popconfirm title="是否确定退?"
+                             @onConfirm="() => refund({id: scope.row.id})"
+                             v-if="scope.row.status === 0"
+                             v-permission="'sellOrder/refund'">
+                <el-button type="text"
+                           slot="reference">退费</el-button>
+              </el-popconfirm>
             </template>
           </el-table-column>
         </el-table>
@@ -174,6 +182,36 @@
                     :page-sizes="pageInfo.page_size"
                     @pagination="getList" />
       </div>
+      <el-dialog
+        title="退费"
+        width="400px"
+        :visible.sync="refundVisible"
+        @close="refundVisible = false"
+      >
+        <el-form
+          :model="refundForm"
+          :rules="refundRules"
+          ref="refundform"
+        >
+          <el-form-item
+            label="退费金额"
+            prop="money"
+            label-width="100px"
+          >
+            <el-input
+              v-model="refundForm.money"
+              type="number"
+              placeholder="请输入退费金额"
+            />
+          </el-form-item>
+        </el-form>
+        <span slot="footer"
+              class="dialog-footer">
+          <el-button @click="refundVisible = false">取消</el-button>
+          <el-button type="primary"
+                     @click="submitRefund">确认</el-button>
+        </span>
+      </el-dialog>
       <el-dialog title="修改成本"
                  :visible.sync="backStatus"
                  @close="onFormClose('ruleForm')"
@@ -250,7 +288,7 @@
 </template>
 <script>
 import pagination from '@/components/Pagination/index'
-import { getSellOrder, updateSellOrder } from '@/api/orderManager'
+import { getSellOrder, updateSellOrder, refundSellOrder } from '@/api/orderManager'
 import { getEmployeeOrgan, getCooperation, findEducationUsers } from '@/api/buildTeam'
 import { paymentChannelStatus } from '@/utils/searchArray'
 import dayjs from 'dayjs'
@@ -261,6 +299,7 @@ export default {
     return {
       paymentChannelStatus: paymentChannelStatus,
       orderDate: null,
+      refundVisible: false,
       detail: {},
       searchForm: {
         search: '',
@@ -289,6 +328,12 @@ export default {
       rules: {
         sellCost: [{ required: true, message: '请输入金额', trigger: 'input' }],
       },
+      refundForm: {
+        money: null,
+      },
+      refundRules: {
+        money: [{ required: true, message: '请输入退费金额', trigger: 'blur' }],
+      },
       cooperations: [],
       restaurants: [],
     }
@@ -392,6 +437,35 @@ export default {
     onFormClose (formName) { // 关闭弹窗重置验证
       this.$refs[formName].clearValidate()
     },
+    refund(data) {
+      refundSellOrder(data)
+        .then(res => {
+          this.getList()
+          this.$message.success('退费成功')
+        })
+        .catch(res => {
+          if (res.code === 100) {
+            this.$confirm(res.msg, '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            })
+            .then(() => {
+              this.refund({
+                ...data,
+                reTry: true
+              })
+            })
+          }
+        })
+    },
+    openRefund(row) {
+      this.refundVisible = true
+      this.detail = row
+    },
+    submitRefund() {
+      console.log({...this.refundForm})
+    },
     onBackMoney (row) { // 退费
       this.backStatus = true
       this.detail = row

+ 105 - 0
src/views/businessManager/shopManager/purchase-form.vue

@@ -0,0 +1,105 @@
+<template>
+  <div>
+    <el-form
+      :model="form"
+      :rules="rules"
+      ref="form"
+    >
+      <el-form-item
+        label="备查货号"
+        prop="no"
+        label-width="100px"
+      >
+        <el-input
+          v-model="form.no"
+          type="number"
+          placeholder="请输入备查货号"
+        />
+      </el-form-item>
+      <el-form-item
+        label="进货数量"
+        prop="no"
+        label-width="100px"
+      >
+        <el-input
+          v-model="form.no"
+          type="number"
+          placeholder="请输入进货数量"
+        />
+      </el-form-item>
+      <el-form-item
+        label="税务数量"
+        prop="no"
+        label-width="100px"
+      >
+        <el-input
+          v-model="form.no"
+          type="number"
+          placeholder="请输入税务数量"
+        />
+      </el-form-item>
+      <el-form-item
+        label="商品采购价1"
+        prop="money1"
+        label-width="100px"
+      >
+        <el-input
+          v-model="form.no"
+          type="number"
+          placeholder="请输入商品采购价1"
+        />
+      </el-form-item>
+      <el-form-item
+        label="商品采购价2"
+        prop="money2"
+        label-width="100px"
+      >
+        <el-input
+          v-model="form.no"
+          type="number"
+          placeholder="请输入商品采购价2"
+        />
+      </el-form-item>
+    </el-form>
+    <span
+      slot="footer"
+      class="dialog-footer"
+    >
+      <el-button
+        @click="$listeners.close"
+      >取消</el-button>
+      <el-button
+        type="primary"
+        @click="submit"
+      >确认</el-button>
+    </span>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      form: {},
+      rules: {
+        no: [{ required: true, message: '请输入备查货号', trigger: 'blur' }],
+        money1: [{ required: true, message: '请输入商品采购价1', trigger: 'blur' }],
+        money2: [{ required: false, message: '请输入商品采购价2', trigger: 'blur' }],
+      },
+    }
+  },
+  mounted() {
+    console.log(this)
+  },
+  methods: {
+    submit() {
+      console.log(this.form)
+    }
+  },
+}
+</script>
+<style lang="less" scoped>
+  .dialog-footer{
+    text-align: right;
+    display: block;
+  }
+</style>

+ 198 - 0
src/views/businessManager/shopManager/purchase-llist.vue

@@ -0,0 +1,198 @@
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>进货清单
+    </h2>
+    <div class="m-core">
+      <el-form
+         inline
+         class="searchForm"
+         v-model="searchForm"
+      >
+        <el-form-item>
+          <el-input clearable v-model="searchForm.search" placeholder="备查货号"/>
+        </el-form-item>
+        <el-form-item>
+          <el-date-picker
+            style="width:410px;"
+            v-model.trim="orderDate"
+            type="daterange"
+            value-format="yyyy-MM-dd"
+            @change="searchOrderDate"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            :picker-options="{ firstDayOfWeek: 1 }"
+        >
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <el-button
+            @click="search"
+            type="danger"
+          >搜索</el-button>
+          <el-button
+            @click="onReSet"
+            type="primary"
+          >重置</el-button>
+        </el-form-item>
+      </el-form>
+      <div class="tableWrap">
+        <el-table
+          :data="tableList"
+          style="width: 100%"
+          :header-cell-style="{background:'#EDEEF0',color:'#444'}"
+        >
+          <el-table-column
+            align='center'
+            width="180"
+            prop="batchNo"
+            label="备查货号"
+          />
+          <el-table-column
+            align='center'
+            width="150"
+            prop="totalQuantity"
+            label="进货数量"
+          />
+          <el-table-column
+            align='center'
+            width="150"
+            prop="taxQuantity"
+            label="税务数量"
+          />
+          <el-table-column
+            align='center'
+            width="150"
+            prop="discountPrice"
+            label="商品采购价1"
+          />
+          <el-table-column
+            align='center'
+            width="150"
+            prop="agreeCostPrice"
+            label="商品采购价2"
+          />
+          <el-table-column
+            align='center'
+            prop="createTime"
+            label="入库日期"
+          />
+          <!-- <el-table-column
+            align='center'
+            width="150"
+            fixed="right"
+            label="操作"
+          >
+            <template slot-scope="scope">
+              <el-button
+                v-permission="'sellOrder/update'"
+                type="text"
+              >修改</el-button>
+              <el-button
+                @click="edit(scope.row)"
+                v-permission="'sellOrder/update'"
+                type="text"
+              >删除</el-button>
+            </template>
+          </el-table-column> -->
+        </el-table>
+      </div>
+    </div>
+    <el-dialog
+      title="修改"
+      width="500px"
+      :visible.sync="editVisible"
+      @close="editVisible = false"
+    >
+      <purchaseForm
+        @close="closeEdit"
+      />
+    </el-dialog>
+  </div>
+</template>
+<script>
+import dayjs from 'dayjs'
+import purchaseForm from './purchase-form'
+import { getGoodsProcurements } from '@/api/businessManager'
+const initSearchForm = {
+  startTime: null,
+  endTime: null,
+  search: '',
+}
+
+export default {
+  components: {
+    purchaseForm
+  },
+  data() {
+    return {
+      tableList: [],
+      detail: null,
+      editVisible: false,
+      searchForm: {
+        ...initSearchForm,
+      },
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50] // 选择限制显示条数
+      },
+      orderDate: []
+    }
+  },
+  mounted() {
+    this.orderDate = [
+      dayjs().format('YYYY-MM-DD'),
+      dayjs().format('YYYY-MM-DD'),
+    ]
+    this.getList()
+  },
+  methods: {
+    searchOrderDate(val) {
+      console.log(val)
+    },
+    getList() {
+      const form = {
+        ...this.searchForm,
+        enterStorageStartTime: (this.orderDate ? this.orderDate[0] : ''),
+        enterStorageEndTime: (this.orderDate ? this.orderDate[1] : ''),
+      }
+      getGoodsProcurements({
+        rows: this.pageInfo.limit,
+        page: this.pageInfo.page,
+        ...form
+      })
+        .then(res => {
+          if (res.code == 200 && res.data) {
+            this.tableList = res.data.rows
+            this.pageInfo.total = res.data.total
+          }
+        })
+    },
+    onReSet () {
+      this.orderDate = []
+      this.searchForm = {
+        ...initSearchForm,
+      }
+      this.getList()
+    },
+    edit(row) {
+      this.editVisible = true
+      this.detail = row
+    },
+    closeEdit() {
+      this.editVisible = false
+      this.detail = null
+    },
+    search() {
+      this.getList()
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+
+</style>

+ 1 - 2
src/views/businessManager/shopManager/shopList.vue

@@ -107,7 +107,6 @@
               </div>
             </template>
           </el-table-column>
-          </el-table-column>
           <el-table-column align='center'
                            prop="agreeCostPrice"
                            label="商品采购价2(元)">
@@ -320,4 +319,4 @@ export default {
   max-height: 70px;
   overflow: hidden;
 }
-</style>
+</style>

+ 16 - 1
src/views/chargeManager/one.vue

@@ -9,6 +9,9 @@
           <el-table-column align="center" label="收款方式">
             <template slot-scope="scope">{{ scope.row.payType | paymentChannelStatus }}</template>
           </el-table-column>
+          <el-table-column align="center" label="账户类型">
+            <template slot-scope="scope">{{ scope.row.accountType | accountTypeFormat }}</template>
+          </el-table-column>
           <el-table-column align="center" prop="hfMerNo" label="汇付商户号"></el-table-column>
           <el-table-column align="center" prop="yqMerNo" label="双乾商户号"></el-table-column>
           <el-table-column align="center" label="收款比例">
@@ -65,6 +68,12 @@
             <el-option value="YQPAY" label="双乾"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="账户类型" prop="accountType" :label-width="formLabelWidth">
+          <el-select v-model.trim="form.accountType" placeholder="请选择账户类型">
+            <el-option value="INTERNAL" label="对内"></el-option>
+            <el-option value="EXTERNAL" label="对外"></el-option>
+          </el-select>
+        </el-form-item>
         <!-- prop="yqMerNo" :error="result.yqError" -->
         <el-form-item
           label="双乾商户号"
@@ -208,6 +217,7 @@ export default {
         hfMerNo: null,
         yqMerNo: null,
         payType: null, // 支付渠道
+        accountType: null,
         type: 2,
         routeScale: []
       },
@@ -223,6 +233,9 @@ export default {
         ],
         payType: [
           { required: true, message: "请选择收款方式", trigger: "change" }
+        ],
+        accountType: [
+          { required: true, message: "请选择账户类型", trigger: "change" }
         ]
       },
       result: {
@@ -524,6 +537,7 @@ export default {
           id: data.id,
           type: Number(data.type),
           hfMerNo: data.hfMerNo,
+          accountType: data.accountType,
           yqMerNo: data.yqMerNo,
           payType: data.payType,
           organId: data.organId
@@ -568,6 +582,7 @@ export default {
         organId: null,
         hfMerNo: null,
         yqMerNo: null,
+        accountType: null,
         payType: null, // 支付渠道
         type: 2,
         routeScale: []
@@ -659,4 +674,4 @@ export default {
   width: 150px;
   text-align: center;
 }
-</style>
+</style>

+ 24 - 0
src/views/contentManager/contentOperation.vue

@@ -458,6 +458,8 @@ export default {
         8: "1242px * 2208px; 图片不能超过 2M;"
       };
       this.imageSize = tempTitle[this.form.type];
+
+      this.$refs["form"].clearValidate();
     },
     addAdvVideo() {
       this.dialogFormVisible = true
@@ -594,6 +596,28 @@ export default {
       }
     },
     onReSet (formName) {
+      const query = this.$route.query
+      let url = ''
+      if(query.type == 7) {
+        url = vaildStudentUrl() + "/#/knowledge"
+      } else if(query.type == 8 || query.type == 5) {
+        url = ''
+      } else {
+        url = vaildStudentUrl() + "/#/specialdetail"
+      }
+      this.form = {
+        title: null,
+        order: null,
+        coverImage: null,
+        videoCoverImage: null,
+        attribute1: null,
+        linkUrl: url,
+        type: query.type,
+        status: 1,
+        content: null,
+        tenantId: null,
+        subType: null
+      };
       this.$refs[formName].resetFields();
     },
     onLook () {

+ 1 - 1
src/views/teacherManager/teacherOperation/components/teacherOperation.vue

@@ -453,7 +453,7 @@ export default {
               birthdate: result.birthdate,
               entryDate: result.entryDate,
               jobNature: result.jobNature,
-              organId: result.teacherOrganId,
+              organId: result.teacherOrganId ? result.teacherOrganId : null,
               flowOrganRange: result.flowOrganRangeId
                 ? result.flowOrganRangeId.split(",")
                 : null,

+ 34 - 6
src/views/teamDetail/teamCourseList.vue

@@ -456,8 +456,21 @@ export default {
       let searchForm = this.searchForm;
       if (!searchForm.timer || searchForm.timer.length <= 0) {
         searchForm.timer = [];
-        this.$message.error("请选择时间段");
-        return;
+      }
+      if (!searchForm.creatTimer || searchForm.creatTimer.length <= 0) {
+        searchForm.creatTimer = []
+      }
+      let count = 0
+      for (let item in searchForm) {
+        if (searchForm[item] && !Array.isArray(searchForm[item])) {
+          count++
+        } else if (Array.isArray(searchForm[item]) && searchForm[item].length > 0) {
+          count++
+        }
+      }
+      if (count <= 0) {
+        this.$message.error('请至少选择一个搜索条件')
+        return
       }
       let obj = {
         teachMode: searchForm.teachMode || null,
@@ -528,8 +541,23 @@ export default {
       let searchForm = this.searchForm;
       if (!searchForm.timer || searchForm.timer.length <= 0) {
         searchForm.timer = [];
-        this.$message.error("请选择时间段");
-        return;
+        // this.$message.error("请选择时间段");
+        // return;
+      }
+      if (!searchForm.creatTimer || searchForm.creatTimer.length <= 0) {
+        searchForm.creatTimer = []
+      }
+      let count = 0
+      for (let item in searchForm) {
+        if (searchForm[item] && !Array.isArray(searchForm[item])) {
+          count++
+        } else if (Array.isArray(searchForm[item]) && searchForm[item].length > 0) {
+          count++
+        }
+      }
+      if (count <= 0) {
+        this.$message.error('请至少选择一个搜索条件')
+        return
       }
       let obj = {
         teachMode: searchForm.teachMode || null,
@@ -546,8 +574,8 @@ export default {
         isCallNames: searchForm.isCallNames,
         schoolId: searchForm.schoolId || null,
         groupType: searchForm.groupType || null,
-        createStartDate: searchForm.creatTimer[0] || null,
-        createEndDate: searchForm.creatTimer[1] || null
+        createStartDate: searchForm.creatTimer[0] ? searchForm.creatTimer[0] : null,
+        createEndDate: searchForm.creatTimer[1] ? searchForm.creatTimer[1] : null
       };
       superFindCourseSchedules(obj).then(res => {
         if (res.code == 200) {

+ 0 - 0
{


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.