Jelajahi Sumber

合同变更

yusheng 1 tahun lalu
induk
melakukan
81473397dc

+ 58 - 0
src/api/bpm/components/contractManage/contractChange.js

@@ -0,0 +1,58 @@
+import request from '@/utils/request';
+import { download } from '@/utils/file';
+/**
+ * 获取信息列表
+ */
+export async function getTableList(params) {
+  const res = await request.get(`/eom/contractchangerecord/page`, { params });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 获取信息详情
+ */
+export async function getDetail(id) {
+  const res = await request.get(`/eom/contractchangerecord/getById/${id}`, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 更新信息
+ */
+export async function UpdateInformation(data) {
+  const res = await request.put(`/eom/contractchangerecord/update`, data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 新增信息
+ */
+export async function addInformation(data) {
+  const res = await request.post(`/eom/contractchangerecord/save`, data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 删除
+ */
+export async function deleteInformation(data) {
+  const res = await request.delete('/eom/contractchangerecord/delete', { data });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+

+ 3 - 0
src/components/bpmnProcessDesigner/package/theme/process-panel.scss

@@ -99,6 +99,9 @@
 .el-input.is-disabled .el-input__inner{
   color: #606266;
 }
+.el-textarea.is-disabled .el-textarea__inner{
+  color: #606266;
+}
 .el-form-item.el-form-item--mini {
   margin-bottom: 0;
   & + .el-form-item {

+ 83 - 0
src/views/bpm/handleTask/components/contractBook/contractChange/detailDialog.vue

@@ -0,0 +1,83 @@
+<template>
+  <div>
+    <el-form
+      ref="form"
+      class="el-form-box"
+      :model="form"
+      label-width="90px"
+    >
+      <headerTitle title="基本信息"></headerTitle>
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="编码" prop="code">
+            <el-input v-model="form.code" disabled></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="12">
+          <el-form-item label="变更合同" prop="contractName">
+            <el-input v-model="form.contractName" disabled></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="附件" prop="file">
+            <fileMain v-model="form.file" type="view"></fileMain>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="变更原因" prop="reason">
+            <el-input v-model="form.reason" disabled type="textarea"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="变更描述" prop="remark">
+            <el-input v-model="form.remark" disabled type="remark"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+  </div>
+</template>
+<script>
+  import { mapGetters } from 'vuex';
+  import { getDetail } from '@/api/bpm/components/contractManage/contractChange.js';
+  import fileMain from '@/components/addDoc/index.vue';
+  const defForm = {
+    name: '',
+    code: '',
+    file: [], //条件
+    remark: '',
+    type: '',
+    describes: '',
+    contractName: '',
+    contractId: ''
+  };
+  export default {
+    components: { fileMain },
+    computed: {
+      ...mapGetters(['user'])
+    },
+    props: {
+      businessId: {
+        default: ''
+      }
+    },
+    data() {
+      return {
+        form: {
+          ...defForm
+        }
+      };
+    },
+    created() {
+      this.getInfo(this.businessId);
+    },
+    methods: {
+      //获取详情
+      async getInfo(id) {
+        this.form = await getDetail(id);
+      }
+    }
+  };
+</script>
+<style scoped lang="scss"></style>

+ 154 - 0
src/views/bpm/handleTask/components/contractBook/contractChange/submit.vue

@@ -0,0 +1,154 @@
+<template>
+  <el-col :span="16" :offset="6">
+    <el-form label-width="100px" ref="formRef" :model="form">
+      <el-form-item
+        label="审批建议"
+
+        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 { UpdateInformation, cancel } from '@/api/bpm/components/contractManage/contractBook';
+  import {approveTaskWithVariables, rejectTask} from '@/api/bpm/task';
+  import { listAllUserBind } from '@/api/system/organization';
+
+  // 流程实例的详情页,可用于审批
+  export default {
+    name: '',
+    components: {
+      //   Parser
+    },
+    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: {
+      /** 处理转办审批人 */
+      handleUpdateAssignee() {
+        this.$emit('handleUpdateAssignee');
+      },
+      /** 退回 */
+      handleBackList() {
+        this.$emit('handleBackList');
+      },
+
+
+      async handleAudit(status) {
+        let variables = {
+          pass: !!status
+        };
+
+        let API = !!status ? approveTaskWithVariables : rejectTask;
+        API({
+          id: this.taskId,
+          reason: this.form.reason,
+          variables
+        }).then((res) => {
+          if (res.data.code != '-1') {
+            this.$emit('handleAudit', {
+              status,
+              title: status === 0 ? '驳回' : ''
+            });
+          }
+        });
+      },
+
+      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>