Ver código fonte

销售信息审核

huangfuli 3 anos atrás
pai
commit
98ef10d0b3

+ 2 - 1
src/lang/zh.js

@@ -583,7 +583,8 @@
     platformaudit: '平台审核',
     platformaudit: '平台审核',
     grainmerchantreview: '粮商审核',
     grainmerchantreview: '粮商审核',
     driverreview: '司机审核',
     driverreview: '司机审核',
-    transactioninformationreview: '交易信息审核',
+    transactioninformationreview: '采购交易信息审核',
+    saletransactioninformationreview: '销售交易信息审核',
 
 
     // 采购模块
     // 采购模块
     procurement: '采购管理',
     procurement: '采购管理',

+ 16 - 1
src/views/platformaudit/component/router/route.js

@@ -43,7 +43,7 @@ const platformauditRouter = {
         },
         },
       },
       },
 
 
-      //交易信息审核
+      //采购交易信息审核
       {
       {
         path: 'transactioninformationreview',
         path: 'transactioninformationreview',
         component: () =>
         component: () =>
@@ -57,6 +57,21 @@ const platformauditRouter = {
           keepAlive: true
           keepAlive: true
         },
         },
       },
       },
+
+      //销售交易信息审核
+      {
+        path: 'saletransactioninformationreview',
+        component: () =>
+          import(/* webpackChunkName: "applDetail" */ '@/views/platformaudit/saletransactioninformationreview'),
+        name: 'saletransactioninformationreview',
+        meta: {
+          title: 'saletransactioninformationreview',
+          shortcutEntrance: 'saletransactioninformationreview',
+          module: 'warehouseManagement.warehouse.warehouseInfo',
+          permissicon: [],
+          keepAlive: true
+        },
+      },
     ],
     ],
 };
 };
 export default platformauditRouter;  
 export default platformauditRouter;  

+ 582 - 0
src/views/platformaudit/saletransactioninformationreview.vue

@@ -0,0 +1,582 @@
+<!--销售交易信息审核-->
+<template>
+  <div>
+    <BaseHeaderLayout :leftSpan="15">
+      <template slot="right">
+        <span style="width: 70px; display: inline-block; color: #8890b1"
+          >状态:</span
+        >
+        <ws-select
+          v-model="searchTypeText"
+          placeholder=""
+          class="typeselect"
+          @change="selectExamineType"
+          :value="searchType"
+        >
+          <ws-option
+            v-for="item in searchTypeList"
+            :key="item.value"
+            :label="item.value"
+            :value="item.value"
+            style="color: #8890b1"
+          />
+        </ws-select>
+        <ws-input
+          v-model="searchKeyWord"
+          placeholder="可按编号、发布企业和发布方查找"
+          clearable
+          maxlength="500"
+          type="input"
+        ></ws-input>
+        <ws-button class="find" type="primary" @click="lookUp()"
+          ><img
+            width="16"
+            height="16"
+            style="
+              vertical-align: text-top;
+              position: relative;
+              top: 0px;
+              left: -5px;
+            "
+            src="../../../public/img/sousuo.png"
+            alt=""
+        /></ws-button>
+        <!-- </div> -->
+      </template>
+    </BaseHeaderLayout>
+    <div class="container">
+      <el-table
+        class="wenzi"
+        :data="tranManagementList.records"
+        style="width: 100%"
+        height="780"
+      >
+        <el-table-column type="index" label="序号" width="50">
+          <template scope="scope">
+            <span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
+            <span v-else>{{ scope.$index + 1 }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="salePlanNo" label="编号" > </el-table-column>
+        <el-table-column prop="seller" label="发布企业/发布人" >
+        </el-table-column>
+        <el-table-column label="发布平台" > 
+          <template scope="scope">
+            <span v-if="scope.row.pcFlag==1">PC端</span>
+            <span v-else>移动端</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="goodsName" label="货名" > </el-table-column>
+        <el-table-column prop="plannedSaleVolume" label="重量(吨)" > </el-table-column>
+        <el-table-column prop="salePlanType" label="交易类型" > </el-table-column>
+        <el-table-column prop="basisPrice" label="基差(元/吨)" > </el-table-column>
+        <el-table-column prop="unitPrice" label="价格(元/吨)" > </el-table-column>
+        <el-table-column prop="sellerPhone" label="电话" > </el-table-column>
+        <el-table-column prop="updateDate" label="更新时间" width="140"> </el-table-column>
+        <el-table-column prop="" label="操作" width="180">
+          <template slot-scope="scope">
+            <div
+              class="record"
+              @click="nocomplete(scope.row)"
+              v-hasPermission="
+           `warehouseManagement.warehouse.warehouseInfoTask.View`
+          "
+            >查看</div>
+            <div
+              class="record"
+              @click="delivery(scope.row)"
+              v-hasPermission="
+           `transportationTask.transportation.transportationInfo.edit`
+          "
+            >编辑</div>
+            <div
+              class="record"
+              @click="deleteclick(scope.row)"
+              v-hasPermission="
+           `transportationTask.transportation.transportationInfo.delete`
+          "
+            >删除</div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="address" label="审核" >
+          <template slot-scope="scope">
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              v-if="scope.row.statusFlag==1"
+              @click="reject(scope.row)"
+              >驳回</el-button
+            >
+            <el-button
+              size="medium"
+              type="text"
+              class="record"
+              v-if="scope.row.statusFlag==1"
+              @click="adopt(scope.row)"
+              >通过</el-button
+            >
+            <template v-else slot-scope="scope"> 
+            {{ scope.row.status}}
+          </template>
+          </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 { saleList ,deletesale ,saleexamine} from '@/model/platformaudit/index'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { EventBus } from 'base-core-lib'
+import { billoperatehis } from '@/model/contarct/index'
+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: [],
+
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      currentPage: 1,
+      pageSize: 10,
+      deptBudgetTotal: 0,
+      searchTypeText: '待审核',
+      searchKeyWord: '',
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      warehouseName: '',
+      searchType: 1,
+      startDate: null,
+      endDate: null,
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      tranManagementList: [],
+      deptBudgetList: {},
+      historyList: [],
+      inOutDate: [],
+      searchTypeList: [
+        { value: '待审核', type: 1 },
+        { value: '已通过', type: 2 },
+        { value: '全部', type: '' },
+      ],
+      salePlanInfo:{
+        id: '',
+        flag: '',
+      },
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    //cg.viewBudget
+    //cg.viewSpareMoney
+    // this.getVesselData();
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    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
+        }
+        // }
+      })
+    },
+    //删除
+    deleteclick(row) {
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`交易信息删除后不可恢复,是否确定删除?`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          deletesale ({
+            id: row.id
+          })
+            .toPromise()
+            .then(response => {
+              this.getList()
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //查看//传参
+    nocomplete(row) {
+      this.$router.push({
+        name: 'salesPlanLook',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    //编辑
+     delivery(row) {
+      this.$router.push({
+        name: 'salesPlanEdit',
+        query: {
+          id: row.id,
+        },
+      })
+    },
+    //查找
+    lookUp() {
+      this.currentPage = 1
+      this.getList()
+    },
+    selectExamineType(e) {
+      for (var i = 0; i < this.searchTypeList.length; i++) {
+        if (this.searchTypeList[i].value == e) {
+          this.searchType = this.searchTypeList[i].type
+        }
+      }
+    },
+    //审核通过
+    adopt(row) {
+      this.salePlanInfo.id = row.id
+      this.salePlanInfo.flag = 1
+      this.$confirm(`确定通过该认证信息?`, '提示', {
+        confirmButtonText: '通过',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          saleexamine( this.salePlanInfo )
+            .toPromise()
+            .then((response) => {
+              
+              this.$notify.success({
+                title: '成功',
+                message: '通过成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    //审核驳回
+    reject(row) {
+       this.salePlanInfo.id = row.id
+       this.salePlanInfo.flag = 2
+      this.$confirm(`确定驳回该认证信息?`, '提示', {
+        confirmButtonText: '驳回',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          saleexamine(this.salePlanInfo)
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '驳回成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    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()
+    },
+    //销售
+    sale() {
+      this.getList()
+    },
+    //销售列表
+    getList() {
+      saleList ({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        searchType: this.searchType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchKeyWord: this.searchKeyWord,
+      })
+        .toPromise()
+        .then((response) => {
+          this.tranManagementList = response
+          this.deptCircularPage.currentPage = response.current
+          this.deptCircularPage.pageSize = response.size
+          this.deptBudgetTotal = response.total
+        })
+    },
+    //更改状态
+    editClick(row) {
+      var status = ''
+      if (row.processStatus == '待执行' || row.processStatus == '已完成') {
+        status = '执行中'
+      } else if (row.processStatus == '执行中') {
+        status = '已完成'
+      }
+      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
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+  },
+}
+</script>
+<style lang="scss" scoped>
+.container {
+  width: 100%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+.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;
+}
+//操作按钮
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+//状态样式
+.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;
+}
+.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;
+}
+.el-row {
+  height: 60px;
+}
+.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: 0 10px;
+}
+/deep/.el-pagination {
+  text-align: center;
+  white-space: nowrap;
+  padding: 2px 5px;
+  color: #303133;
+  font-weight: 700;
+  margin-bottom: 20px;
+}
+.el-select {
+  width: 30%;
+  margin-right: 10px;
+}
+/deep/.typeselect .el-input__inner {
+  color: #8890b1;
+}
+</style>

+ 4 - 65
src/views/platformaudit/transactioninformationreview.vue

@@ -1,23 +1,7 @@
-<!--交易信息审核-->
+<!--采购交易信息审核-->
 <template>
 <template>
   <div>
   <div>
     <BaseHeaderLayout :leftSpan="15">
     <BaseHeaderLayout :leftSpan="15">
-      <template slot="left">
-        <div class="purchase"><el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="purchase()"
-          >采购</el-button
-        ></div>
-        <div class="sale"><el-button
-          class="bg-bottom"
-          type="primary"
-          size="small"
-          @click="sale()"
-          >销售</el-button
-        ></div>
-      </template>
       <template slot="right">
       <template slot="right">
         <span style="width: 70px; display: inline-block; color: #8890b1"
         <span style="width: 70px; display: inline-block; color: #8890b1"
           >状态:</span
           >状态:</span
@@ -83,7 +67,7 @@
           </template>
           </template>
         </el-table-column>
         </el-table-column>
         <el-table-column prop="goodsName" label="货名" > </el-table-column>
         <el-table-column prop="goodsName" label="货名" > </el-table-column>
-        <el-table-column prop="weight" label="重量(吨)" > </el-table-column>
+        <el-table-column prop="plannedPurchaseVolume" label="重量(吨)" > </el-table-column>
         <el-table-column prop="procurementPlanType" label="交易类型" > </el-table-column>
         <el-table-column prop="procurementPlanType" label="交易类型" > </el-table-column>
         <el-table-column prop="basisPrice" label="基差(元/吨)" > </el-table-column>
         <el-table-column prop="basisPrice" label="基差(元/吨)" > </el-table-column>
         <el-table-column prop="unitPrice" label="价格(元/吨)" > </el-table-column>
         <el-table-column prop="unitPrice" label="价格(元/吨)" > </el-table-column>
@@ -151,7 +135,7 @@
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-import { getTransactionInformation, transactionInformationList ,deleteTransactionInformation , saleList ,deletesale ,saleexamine} from '@/model/platformaudit/index'
+import { getTransactionInformation, transactionInformationList ,deleteTransactionInformation} from '@/model/platformaudit/index'
 import Pagination from '@/components/Pagination'
 import Pagination from '@/components/Pagination'
 import WsUpload from '@/components/WsUpload'
 import WsUpload from '@/components/WsUpload'
 import { EventBus } from 'base-core-lib'
 import { EventBus } from 'base-core-lib'
@@ -418,27 +402,7 @@ export default {
           this.deptBudgetTotal = response.total
           this.deptBudgetTotal = response.total
         })
         })
     },
     },
-    //销售
-    sale() {
-        this.getList1()
-    },
-    //销售列表
-    getList1() {
-      saleList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        searchType: this.searchType,
-        currentPage: this.currentPage,
-        pageSize: this.pageSize,
-        searchKeyWord: this.searchKeyWord,
-      })
-        .toPromise()
-        .then((response) => {
-          this.tranManagementList = response
-          this.deptCircularPage.currentPage = response.current
-          this.deptCircularPage.pageSize = response.size
-          this.deptBudgetTotal = response.total
-        })
-    },
+    //更改状态
     editClick(row) {
     editClick(row) {
       var status = ''
       var status = ''
       if (row.processStatus == '待执行' || row.processStatus == '已完成') {
       if (row.processStatus == '待执行' || row.processStatus == '已完成') {
@@ -490,12 +454,6 @@ export default {
       }
       }
       this.appendixIdss = row.receiveAttachmentPath
       this.appendixIdss = row.receiveAttachmentPath
     },
     },
-    handleExamine(row) {
-      this.$router.push({
-        name: 'salesContractExamine',
-        query: { id: row.id },
-      })
-    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleCloe() {
     handleCloe() {
       this.dialogViewSpareMoney = false
       this.dialogViewSpareMoney = false
@@ -507,22 +465,6 @@ export default {
           this.historyList = response
           this.historyList = response
         })
         })
     },
     },
-    find() {
-      if (this.inOutDate != null) {
-        if (this.inOutDate.length != 0) {
-          this.startDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[0])
-          this.endDate = this.dateFormat('YYYY-mm-dd', this.inOutDate[1])
-        } else {
-          this.startDate = ''
-          this.endDate = ''
-        }
-      } else {
-        this.startDate = ''
-        this.endDate = ''
-      }
-      this.currentPage = 1
-      this.getList()
-    },
   },
   },
 }
 }
 </script>
 </script>
@@ -634,9 +576,6 @@ export default {
   width: 30%;
   width: 30%;
   margin-right: 10px;
   margin-right: 10px;
 }
 }
-.sale {
-  margin-left: 50px;
-}
 /deep/.typeselect .el-input__inner {
 /deep/.typeselect .el-input__inner {
   color: #8890b1;
   color: #8890b1;
 }
 }

+ 1 - 1
src/views/salesManagement/salesPlanList.vue

@@ -7,7 +7,7 @@
       <template slot="right">
       <template slot="right">
         <ws-input
         <ws-input
           v-model="searchKeyWord"
           v-model="searchKeyWord"
-          placeholder="可按采购计划编号和标题查找"
+          placeholder="可按销售计划编号和标题查找"
           clearable
           clearable
           maxlength="500"
           maxlength="500"
           type="input"
           type="input"