ysy пре 1 година
родитељ
комит
499b69ab74

+ 148 - 0
src/views/bpm/handleTask/components/bomApprover/detailDialog.vue

@@ -0,0 +1,148 @@
+<template>
+  <div>
+
+    <headerTitle title="Bom审批"></headerTitle>
+
+    <el-form :model="formData" ref="tableForm">
+      <ele-pro-table ref="table" :needPage="false" :columns="columns" row-key="id">
+
+      </ele-pro-table>
+    </el-form>
+
+
+  </div>
+</template>
+  
+<script>
+
+
+
+
+export default {
+  components: {
+
+  },
+  props: {
+    businessId: {
+      default: ''
+    }
+  },
+  mixins: [],
+
+  data() {
+    return {
+      visible: false,
+      title: '',
+
+      // 表格列配置
+      columns: [
+        {
+          width: 45,
+          type: 'expand',
+          columnKey: 'materialList',
+          align: 'center',
+          slot: 'expand'
+        },
+
+        {
+          width: 50,
+          label: '序号',
+          type: 'index',
+          align: 'center',
+          slot: 'index'
+        },
+
+        {
+          prop: 'salesOrderCode',
+          label: '销售订单号',
+          showOverflowTooltip: true,
+          align: 'center',
+          minWidth: 170
+        },
+        {
+          prop: 'customerName',
+          label: '客户名称',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'serialNo',
+          label: '客户代号',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'productCode',
+          label: '产品编码',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 140
+        },
+
+        {
+          prop: 'productName',
+          label: '产品名称',
+          align: 'center',
+          minWidth: 120
+        },
+
+        {
+          prop: 'model',
+          label: '型号',
+          align: 'center',
+          minWidth: 120
+        },
+
+        {
+          prop: 'brandNo',
+          label: '牌号',
+          align: 'center'
+        },
+
+        {
+          prop: 'deliveryTime',
+          label: '交付日期',
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'contractNum',
+          label: '合同数量',
+          align: 'center'
+        },
+        {
+          prop: 'lackNum',
+          label: '欠交数量',
+          align: 'center'
+        },
+
+
+
+
+      ],
+
+
+
+      rules: {},
+
+    };
+  },
+  created() {
+
+  },
+  methods: {
+
+
+  }
+};
+</script>
+  
+<style lang="scss" scoped>
+:deep(.el-table__expanded-cell) {
+
+  padding-bottom: 30px !important;
+  border-bottom: 12px solid #CCFFCC !important;
+}
+</style>
+
+

+ 155 - 0
src/views/bpm/handleTask/components/bomApprover/submit.vue

@@ -0,0 +1,155 @@
+<template>
+  <el-col :span="16" :offset="6">
+    <el-form label-width="100px" ref="formRef" :model="form">
+
+      <el-form-item label="审批建议" prop="reason" style="margin-bottom: 20px" :rules="{
+        required: true,
+        message: '请选择',
+        trigger: 'change'
+      }">
+        <el-input type="textarea" v-model="form.reason" placeholder="请输入审批建议" />
+      </el-form-item>
+    </el-form>
+    <div style="margin-left: 10%; margin-bottom: 20px; font-size: 14px">
+      <el-button icon="el-icon-edit-outline" type="success" size="mini" @click="handleAudit(1)">通过
+      </el-button>
+
+      <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleAudit(0)">驳回
+      </el-button>
+
+      <el-dropdown @command="(command) => handleCommand(command)" style="margin-left: 30px;">
+        <span class="el-dropdown-link">更多<i class="el-icon-arrow-down el-icon--right"></i></span>
+        <el-dropdown-menu slot="dropdown">
+          <el-dropdown-item command="cancel">作废</el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
+
+
+    </div>
+
+  </el-col>
+</template>
+
+<script>
+
+import { apspurchaseplan, cancel } from '@/api/bpm/components/apsMeterialPlan';
+import { approveTaskWithVariables } from '@/api/bpm/task';
+import { listAllUserBind } from '@/api/system/organization';
+
+// 流程实例的详情页,可用于审批
+export default {
+  name: '',
+  components: {
+
+  },
+  props: {
+    businessId: {
+      default: ''
+    },
+    taskId: {
+      default: ''
+    },
+    id: {
+      default: ''
+    },
+
+    taskDefinitionKey: {
+      default: ''
+    }
+  },
+  data() {
+    return {
+      form: {
+        technicianId: '',
+        reason: ''
+      },
+      userOptions: []
+    };
+  },
+  created() {
+    this.userOptions = [];
+    listAllUserBind().then((data) => {
+      this.userOptions.push(...data);
+    });
+  },
+  methods: {
+
+
+    async handleAudit(status, type) {
+      //生产主管审批选择技术员
+
+
+      this._approveTaskWithVariables(status);
+    },
+    async _approveTaskWithVariables(status) {
+
+
+      if (status == 1) {
+
+        apspurchaseplan({
+          businessId: this.businessId,
+          id: this.taskId,
+          userId: this.form.technicianId,
+          userName: this.form.userName,
+          reason: this.form.reason,
+          pass: true
+
+        }).then((res) => {
+          if (res.data.code != '-1') {
+            this.$emit('handleAudit', {
+              status,
+              title: ''
+            });
+          }
+        });
+      } else if (status == 0) {
+        approveTaskWithVariables({
+          id: this.taskId,
+          reason: this.form.reason,
+          pass: false
+        }).then((res) => {
+          if (res.data.code != '-1') {
+            this.$emit('handleAudit', {
+              status,
+              title: '驳回'
+            });
+          }
+        });
+      }
+
+    },
+
+    getTableValue() {
+      return new Promise((resolve, reject) => {
+        this.$emit('getTableValue', async (data) => {
+          resolve(await data);
+        });
+      });
+    },
+
+    //更多
+    handleCommand(command) {
+      if (command === 'cancel') {
+        this.$confirm("是否确认作废?", {
+          type: 'warning',
+          cancelButtonText: '取消',
+          confirmButtonText: '确定'
+        }).then(() => {
+          cancel({
+            id: this.taskId,
+            reason: this.form.reason,
+            businessId: this.businessId,
+          }).then(() => {
+            this.$emit('handleClose');
+          }).catch(() => {
+            this.$message.error("流程作废失败");
+          });
+        }).catch(() => {});
+      }
+    },
+
+  }
+};
+</script>
+
+<style lang="scss"></style>