Jelajahi Sumber

报价管理

yuanchengman 2 tahun lalu
induk
melakukan
1e71743631
3 mengubah file dengan 388 tambahan dan 0 penghapusan
  1. 18 0
      src/api/quoted.js
  2. 350 0
      src/views/modules/cus/quoted.vue
  3. 20 0
      src/views/modules/tech/program.vue

+ 18 - 0
src/api/quoted.js

@@ -0,0 +1,18 @@
+import request from '@/utils/httpRequest'
+
+// 报价管理列表
+export function getList (params) {
+  return request({
+    url: request.adornUrl(`/biz-service/quoted/list`),
+    method: 'get',
+    params: params
+  })
+}
+
+// 报价管理详情
+export function getDetail (priceId) {
+  return request({
+    url: request.adornUrl(`/biz-service/quoted/info/${priceId}`),
+    method: 'get'
+  })
+}

+ 350 - 0
src/views/modules/cus/quoted.vue

@@ -0,0 +1,350 @@
+<template>
+  <div>
+    <template v-if="!addOrUpdateVisible">
+      <el-form
+        :inline="true"
+        :model="dataForm"
+        @keyup.enter.native="queryData()"
+      >
+        <el-form-item label="项目名称">
+          <el-input
+            v-model="dataForm.projectName"
+            placeholder="请输入项目名称"
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="部门">
+          <org-component v-model="dataForm.orgId" />
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="queryData()">查询</el-button>
+          <el-button
+            v-if="isAuth('quoted:insert')"
+            type="primary"
+            @click="addOrUpdateHandle(0, false)"
+            >新建</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <el-table
+        :data="dataList"
+        border
+        v-loading="dataListLoading"
+        style="width: 100%"
+      >
+        <el-table-column
+          label="序号"
+          type="index"
+          width="50"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          prop="priceCode"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="报价编码"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="projectName"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="项目名称"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="type"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="项目类别"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="materialCost"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="报价小计"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="mouldPrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="模具费"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="managePrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="管理费"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="ratePrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="税率"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="totalPrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="总价"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="precisionMaterialCost"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="精准报价小计"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="precisionMouldPrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="精准模具费"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="precisionManagePrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="精准管理费"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="precisionRatePrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="精准税率"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="precisionTotalPrice"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="精准总价"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="remark"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="备注"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="creatorName"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="负责人"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="orgName"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="部门"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="state"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="项目状态"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="approveState"
+          header-align="center"
+          align="center"
+          min-width="140"
+          :show-tooltip-when-overflow="true"
+          label="项目评估状态"
+        >
+        </el-table-column>
+        <el-table-column
+          fixed="right"
+          header-align="center"
+          align="center"
+          min-width="340"
+          width="340"
+          label="操作"
+        >
+          <template slot-scope="scope">
+            <el-button
+              type="text"
+              size="small"
+              @click="showDetail(scope.row.programId)"
+              >查看</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:update')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >编辑</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:revoke')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >撤回</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:first')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >报价</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:two')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >精准报价</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:two')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >通知报价</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:restart')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >重新报价</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:accredit')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >授权</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:result')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >报价结果</el-button
+            >
+            <el-button
+              v-if="isAuth('quoted:result')"
+              type="text"
+              size="small"
+              @click="showDetail"
+              >导出</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="sizeChangeHandle"
+        @current-change="currentChangeHandle"
+        :current-page="pageIndex"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="pageSize"
+        :total="totalPage"
+        layout="total, sizes, prev, pager, next, jumper">
+      </el-pagination>
+    </template>
+  </div>
+</template>
+
+<script>
+import OrgComponent from '../common/org-component'
+import {getList} from '@/api/quoted'
+export default {
+  name: 'cus-quoted',
+  components: { OrgComponent },
+  data () {
+    return {
+      addOrUpdateVisible: false,
+      dataForm: {},
+      dataList: [{}],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPage: 0,
+      dataListLoading: false
+    }
+  },
+  created () {},
+  methods: {
+    // 每页数
+    sizeChangeHandle (val) {
+      this.pageSize = val
+      this.pageIndex = 1
+      this.getDataList()
+    },
+      // 当前页
+    currentChangeHandle (val) {
+      this.pageIndex = val
+      this.getDataList()
+    },
+    queryData () {
+      this.pageIndex = 1
+      this.getDataList()
+    },
+    getDataList () {
+      let param = {
+        current: this.pageIndex,
+        size: this.pageSize,
+        ...this.dataForm
+      }
+      getList(param).then(({data}) => {
+        if (data && data.code === '200') {
+          this.dataList = data.data.records
+        }
+      })
+    },
+    addOrUpdateHandle (id) {},
+    showDetail () {}
+  }
+}
+</script>
+
+<style scoped>
+</style>

+ 20 - 0
src/views/modules/tech/program.vue

@@ -208,6 +208,15 @@
             </template>
         </el-table-column>
       </el-table>
+      <el-pagination
+        @size-change="sizeChangeHandle"
+        @current-change="currentChangeHandle"
+        :current-page="pageIndex"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="pageSize"
+        :total="totalPage"
+        layout="total, sizes, prev, pager, next, jumper">
+      </el-pagination>
     </template>
     <attach-detail-dialog ref="attachDetail" />
     <program-add-or-update ref="addOrUpdate" v-if="addOrUpdateVisible" @onChose="onChose" @refreshDataList="getMaterialList"></program-add-or-update>
@@ -284,6 +293,17 @@ export default {
     },
     attachDetails (attachList) {
       this.$refs.attachDetail.init(attachList)
+    },
+    // 每页数
+    sizeChangeHandle (val) {
+      this.pageSize = val
+      this.pageIndex = 1
+      this.getDataList()
+    },
+      // 当前页
+    currentChangeHandle (val) {
+      this.pageIndex = val
+      this.getDataList()
     }
   }
 }