فهرست منبع

feat(销售管理): 添加发货金额列,客户信息管理增加合同评审功能

liujt 8 ماه پیش
والد
کامیت
584359d5df

+ 193 - 0
src/views/saleManage/contact/components/darwerComponents/contractReview.vue

@@ -0,0 +1,193 @@
+<template>
+  <div class="ele-body" style="width:100%">
+    <ele-pro-table
+      ref="table"
+      style="width:100%"
+      :columns="columns"
+      :datasource="datasource"
+      cache-key="saleMange-contact-contractReview"
+      :pageSize="20"
+      :needPage="false"
+    >
+        <template v-slot:name="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            @click="handleDetail(row)"
+          >
+            {{ row.name }}
+          </el-link>
+        </template>
+        <template v-slot:result="{ row }">
+          <el-tag
+            size="medium"
+            :type="
+              getTimelineItemType(
+                getDictValue('流程实例的结果', row.result)
+              )
+            "
+          >
+            {{ getDictValue('流程实例的结果', row.result) }} {{ row.result }}
+          </el-tag>
+        </template>
+
+        <template v-slot:durationInMillis="{ row }">
+          {{ getDateTime(row.durationInMillis) }}
+        </template>
+   
+    </ele-pro-table>
+    <detail
+      v-if="detailFlag"
+      :view="true"
+      ref="formDetailDialogRef"
+      :detail-flag.sync="detailFlag"
+    ></detail>
+  </div>
+</template>
+
+<script>
+// import dictMixins from '@/mixins/dictMixins';
+import tabMixins from '@/mixins/tableColumnsMixin';
+import { getDate } from '@/utils/dateUtils';
+import detail from '@/views/contractManage/contractReview/components/detail.vue';
+import { mapGetters, mapActions } from 'vuex';
+
+export default {
+  mixins: [tabMixins],
+  props: {
+    contractData: {
+      type: Object,
+      default: () => ({})
+    }
+  },
+  components: {
+    detail
+  },
+  data() {
+    return {
+        detailFlag: false,
+    };
+  },
+  computed: {
+    ...mapGetters(['getDictValue']),
+    columns() {
+        // let list = this.formColumnList.map((item) => {
+        //   return {
+        //     prop: item.model,
+        //     label: item.name,
+        //     align: 'center',
+        //     slot: item.model,
+        //     showOverflowTooltip: true,
+        //     minWidth: 120
+        //   };
+        // });
+        return [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+        //   {
+        //     prop: 'dictType',
+        //     label: '分类',
+        //     align: 'center',
+        //     slot: 'dictType',
+        //     showOverflowTooltip: true,
+        //     minWidth: 70
+        //   },
+        //   {
+        //     prop: 'formName',
+        //     label: '单据',
+        //     align: 'center',
+        //     slot: 'formName',
+        //     showOverflowTooltip: true,
+        //     minWidth: 70
+        //   },
+          {
+            prop: 'name',
+            label: '名称',
+            align: 'center',
+            slot: 'name',
+            showOverflowTooltip: true,
+            minWidth: 80
+          },
+        //   ...list,
+          {
+            prop: 'result',
+            slot: 'result',
+            label: '结果',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 80
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 120
+          },
+          {
+            prop: 'endTime',
+            label: '审批时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 120
+          },
+          {
+            prop: 'startUserName',
+            label: '发起人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 120
+          }
+        ];
+      }
+  },
+  created() {
+  },
+  methods: {
+    handleDetail(row) {
+        this.detailFlag = true;
+        this.$nextTick(() => {
+            this.$refs.formDetailDialogRef.open(row);
+        });
+    },
+    getTimelineItemType(result) {
+        if (result === '通过') {
+          return 'success';
+        }
+        if (result === '不通过') {
+          return 'danger';
+        }
+        if (result === '取消') {
+          return 'info';
+        }
+        if (result === '处理中') {
+          return 'warning';
+        }
+
+        return '';
+      },
+  
+    datasource({ page, limit, where, order }) {
+      return this.contractData.approvalList || [];
+    },
+    getDateTime(ms) {
+        return getDate(ms);
+    },
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .ele-pro-table {
+  .el-link {
+    cursor: pointer;
+  }
+}
+</style>

+ 13 - 3
src/views/saleManage/contact/components/drawer.vue

@@ -149,6 +149,13 @@
           ref="saleOderAftersalesListRef"
           ></saleOderAftersalesList>
           </el-tab-pane>
+          <!-- 合同评审 -->
+          <el-tab-pane label="合同评审" name="合同评审">
+            <contractReview
+              :contractData="row"
+              ref="contractReviewRef"
+            ></contractReview>
+          </el-tab-pane>
         </el-tabs>
       </div>
 
@@ -241,9 +248,11 @@
   import applyList from './darwerComponents/applyList.vue';
   //供货列表
   import supplyList from './darwerComponents/supplyList.vue';
-  
-//售后工单
-import saleOderAftersalesList from './darwerComponents/saleOderAftersalesList.vue';
+  //售后工单
+  import saleOderAftersalesList from './darwerComponents/saleOderAftersalesList.vue';
+  //合同评审
+  import contractReview from './darwerComponents/contractReview.vue';
+
   import TinymceEditor from '@/components/TinymceEditor/index.vue';
   import { mapGetters } from 'vuex';
   import bpmDetail from '@/views/bpm/processInstance/detail.vue';
@@ -256,6 +265,7 @@ import saleOderAftersalesList from './darwerComponents/saleOderAftersalesList.vu
       contactInfo,
       bankInfo,
       linkInfo,
+      contractReview,
       // otherForm,
       // certificateTable,
       quotation,

+ 2 - 1
src/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue

@@ -151,8 +151,9 @@
             <el-input
               clearable
               v-model="form.productionRequirements"
-              placeholder="请输入"
+              placeholder=""
               type="textarea"
+              disabled
             />
           </el-form-item>
         </el-col>

+ 7 - 0
src/views/saleManage/saleOrder/invoice/index.vue

@@ -414,6 +414,13 @@
             showOverflowTooltip: true,
             minWidth: 140
           },
+          {
+            prop: 'sendTotalAmount',
+            label: '发货金额',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
           {
             prop: 'projectName',
             label: '项目名称',