浏览代码

前端孟祥旭

mxx 3 年之前
父节点
当前提交
79d58049d5

+ 625 - 0
src/views/financialManagement/collectionManagementList.vue

@@ -0,0 +1,625 @@
+//收款管理
+<template>
+  <div class="container">
+    <!-- <div> -->
+    <div>
+      <ws-input
+        v-model="searchKeyWord"
+        placeholder="可按照合同编号和任务编号进行查找"
+        clearable
+        maxlength="500"
+        type="input"
+        class="findValue"
+      ></ws-input>
+      <ws-button class="but" type="primary" @click="find()">
+        <img
+          width="16"
+          height="16"
+          style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -8px;
+            "
+          src="../../../public/img/sousuo.png"
+          alt
+        />
+      </ws-button>
+    </div>
+    <ws-button  @click="handleAdd()">全部</ws-button>
+    <ws-button  @click="handleAdd()">待回款</ws-button>
+    <ws-button  @click="handleAdd()">已汇款</ws-button>
+    <el-table
+      class="wenzi"
+      :data="warehouseList.records"
+      style="width: 100%; margin-top: 20px"
+      height="780"
+    >
+      <el-table-column type="index" label="序号" width="80"></el-table-column>
+      <el-table-column class="table_td" prop="procurementPlanNo" label="合同编号"></el-table-column>
+      <el-table-column class="table_td" prop="title" label="货名"></el-table-column>
+      <el-table-column class="table_td" prop="goodsName" label="买方"></el-table-column>
+      <el-table-column class="table_td" prop="plannedPurchaseVolume" label="买方"></el-table-column>
+      <el-table-column class="table_td" prop="basisPrice" label="应收(元)"></el-table-column>
+      <el-table-column class="table_td" prop="unitPrice" label="未收(元)"></el-table-column>
+      <el-table-column class="table_td" prop="receiveWarehouse" label="出货量(吨)"></el-table-column>
+      <el-table-column class="table_td" prop="" label="已开发票(元)"></el-table-column>
+      <el-table-column class="table_td" prop="" label="未开发票(元)"></el-table-column>
+      <el-table-column class="table_td" prop="" label="状态"></el-table-column>
+      <el-table-column class="table_td" prop="" label="更新时间"></el-table-column>
+      <el-table-column prop="seller" label="操作" >
+        <template slot-scope="scope">
+          <div class="record" @click="dialogFormVisible2=true">派发</div>
+            <el-dialog
+            width="40%"
+            title="派发(123)"
+            :visible.sync="dialogFormVisible2"
+            :append-to-body="true"
+          >
+            <el-form :model="form">
+              <el-form-item label="默认库管" :label-width="formLabelWidth">
+                <el-select
+                  v-model="form.region"
+                  autocomplete="off"
+                  placeholder="请选择默认库管"
+                  class="deal"
+                ></el-select>
+              </el-form-item>
+             
+            </el-form>
+          </el-dialog>
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 页数 -->
+    <el-pagination
+      @size-change="handleSizeChange"
+      @current-change="handleCurrentChange"
+      :current-page="currentPage"
+      :page-size="deptCircularPage.pageSize"
+      layout="total, sizes, prev, pager, next, jumper"
+      :total="deptBudgetTotal"
+    >
+    </el-pagination>
+  </div>
+  <!-- </div> -->
+</template>
+<script>
+import { procurementPlan , procurementDel } from '@/model/purchasingManagement/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    }
+  },
+  data() {
+    return {
+      //弹出框
+      dialogViewSpareMoney: false,
+      dialogApproveFormVisible: false,
+      // 船舶类型
+      monetaryKey: null,
+      // 表格显示数据
+      tableDate: [],
+        dialogFormVisible2 :false,
+        form: {
+        transactionPrice: '',
+        transactionsNumber: '',
+        basis: '',
+        submissionDate: ''
+        // delivery: false,
+        // type: [],
+        // resource: '',
+        // desc: ''
+      },
+      formLabelWidth: '120px',
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      pickerOptions: {},
+      value2: '',
+      handleSizeChange:'',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      // tranTypeKey: 1,
+      pageSize: 10,
+      searchType: 1,
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      pcFlag:1,
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      contractNo: '',
+      // inOutTaskNo: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      deptBudgetList: {},
+      pcFlag:1,
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: time => {
+          return time.getTime() > Date.now()
+        }
+      },
+      accessoryTFs: false
+    }
+  },
+  activated() {
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    getList() {
+      console.log(123456)
+      procurementPlan({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        contractType: this.contractType,
+        tranTypeKey: this.tranTypeKey,
+        contractNo: this.contractNo,
+        pcFlag: this.pcFlag,
+      })
+        .toPromise()
+        .then(response => {
+          this.warehouseList = response
+        })
+    },
+    statusquery(state) {
+      this.searchType = state
+      this.getList()
+    },
+    
+    //编辑
+    handleEdit(row) {
+      this.$router.push({
+        name: 'procurementPlanEdit',
+        query: {  id: row.id },
+      })
+    },
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+          //不是第一项时,就根据标识去存储
+          if (data[index].warehouseNumViewList.length > 1) {
+            查找到符合条件的数据时每次要把之前存储的数据 + 1
+            this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+            this.spanArr.push(0)
+          } else {
+            // 没有符合的数据时,要记住当前的index
+            this.spanArr.push(1)
+            this.pos = index
+          }
+        }
+      })
+    },
+    //添加
+    // handleAdd(){
+    //   this.$router.push({
+    //     name: 'procurementPlanAdd',
+    //   })
+    // },
+    //查看
+    // handleLook(row) {
+    //   this.$router.push({
+    //     name: 'procurementPlanLook',
+    //     query: {
+    //      id: row.id
+    //     }
+    //   })
+    // },
+    handleDelete(row) {
+     var handleDelete = ' '
+     if(row.handleDelete == ''){
+     }
+     this.$confirm(
+       `采购计划删除后不可恢复,是否确定删除?`,
+       {
+         cancelButtonText: '取消',
+         confirmButtonText: '确定',
+         type:'warning'
+       }
+     )
+      .then(() => {
+          procurementDel({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '删除成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+  },
+  
+
+    //返回
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString() // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待审核' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          alsostate({ id: row.id })
+            .toPromise()
+            .then(response => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功'
+              })
+              this.getList()
+            })
+            .catch(response => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    // fujian(row) {
+    //   if (
+    //     row.receiveAttachmentPath === null ||
+    //     row.receiveAttachmentPath === ''
+    //   ) {
+    //     EventBus.$emit(
+    //       'warning',
+    //       this.$t('system.noticeCircular.NoInformation')
+    //     )
+    //   } else {
+    //     this.accessoryTFs = true
+    //   }
+    //   this.appendixIdss = row.receiveAttachmentPath
+    // },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id }
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then(response => {
+          this.historyList = response
+        })
+    },
+    //查找
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${this.date.year +
+          (this.date.month ? `-${this.date.month}` : '')}_采购合同`,
+        type: 'xls'
+      })
+    },
+    total() {}
+  }
+
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  width: 385px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+// .el-row{
+//     height: 150px;
+// }
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.bg-left {
+  padding-left: 30px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+  // margin-left: 85%;
+  margin-top: 20px;
+}
+//导航条样式
+.el-col-12 {
+  width: 50%;
+  height: 60px;
+  background: #f6f7fc;
+  border-radius: 4px 4px 1px 1px;
+}
+.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+  width: 385px;
+  margin-top: 10px;
+}
+.bg-bottom {
+  margin-left: 85%;
+}
+.but {
+  margin-left: 30%;
+  /* margin-top: -32px; */
+  overflow: auto;
+  /* float: left; */
+  /* margin-left: 1px; */
+  margin-left: -10px;
+}
+.el-input--small {
+  font-size: 13px;
+  width: 390px;
+  margin-left: 74%;
+}
+/deep/.el-table .el-table__header .cell,
+.el-table .el-table__body .cell {
+  text-align: center;
+}
+</style>

+ 34 - 0
src/views/financialManagement/component/routers/route.js

@@ -0,0 +1,34 @@
+import Layout from '@/layout/index';
+
+const financialManagementRouter = {
+  path: '/financialManagement',
+  component: Layout,
+  redirect: '/financialManagement',
+  name: 'financialManagement',
+  alwaysShow: true, // will always show the root menu
+  meta: {
+    title: 'financialManagement',
+    module: 'contractManagement',
+    icon: '-caigouyewuguanli'
+  },
+  children: [
+      // 收款管理
+    {
+      path: 'collectionManagementList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/financialManagement/collectionManagementList'),
+      name: 'collectionManagementList',
+      meta: {
+        title: 'collectionManagementList',
+        shortcutEntrance: 'financialManagement',
+        module: 'contractManagement.salesContract',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      }
+    },
+  ],
+
+};
+
+export default financialManagementRouter;