whj 10 月之前
父節點
當前提交
d942df3145

+ 2 - 1
src/utils/dict.js

@@ -356,7 +356,8 @@ DictCache.TYPE = {
   CATEGORY_TYPE: 'CATEGORY_TYPE',
   CLASS_NAME_CODE: 'CLASS_NAME_CODE',
   TREATMENT_CONDITION:'TREATMENT_CONDITION',
-  FLOW_TASK_STATUS:'FLOW_TASK_STATUS'
+  FLOW_TASK_STATUS:'FLOW_TASK_STATUS',
+  TASK_RECORD_STATUS:'TASK_RECORD_STATUS'
 
 }
 DictCache.CODE = {

+ 107 - 121
src/views/workflow/field/modules/BaseForm.vue

@@ -1,132 +1,118 @@
 <template>
-    <a-card :bordered="false" v-show="visible" class="card" :title="modalTitle">
-        <a-row :gutter="48" slot="extra">
-            <a-col :md="48" :sm="48">
-              <span class="table-page-search-submitButtons" style="float: right">
-                <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
-                <a-button style="margin-left: 8px" type="default" @click="handleCancel()">返回</a-button>
-              </span>
-            </a-col>
-        </a-row>
-        <a-form :form="form">
+  <a-card :bordered="false" v-show="visible" class="card" :title="modalTitle">
+    <a-row :gutter="48" slot="extra">
+      <a-col :md="48" :sm="48">
+        <span class="table-page-search-submitButtons" style="float: right">
+          <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
+          <a-button style="margin-left: 8px" type="default" @click="handleCancel()">返回</a-button>
+        </span>
+      </a-col>
+    </a-row>
+    <a-form :form="form">
 
-            <a-form-item v-show="false">
-                <a-input v-decorator="['id']" type="hidden"/>
-                                                                                                                                                                                                                                                                                                                                                            </a-form-item>
+      <a-form-item v-show="false">
+        <a-input v-decorator="['id']" type="hidden" />
+      </a-form-item>
 
-            <row-list :col="2">
-                                                                                                                                                                                                                                                                                                                        <row-item>
+      <row-list :col="2">
+        <row-item>
 
-                            <a-form-item
-                                    label="对应中文名称"
-                                    :labelCol="BaseTool.Constant.labelCol"
-                                    :wrapperCol="BaseTool.Constant.wrapperCol"
-                            >
-                                                                    <a-input
-                                            v-decorator="['name', {rules: [{required: true, message: '对应中文名称不能为空'}]}]"/>
-                                                            </a-form-item>
-                        </row-item>
-                                                                                <row-item>
+          <a-form-item label="对应中文名称" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
+            <a-input v-decorator="['name', {rules: [{required: true, message: '对应中文名称不能为空'}]}]" />
+          </a-form-item>
+        </row-item>
+        <row-item>
 
-                            <a-form-item
-                                    label="对应英文属性名称"
-                                    :labelCol="BaseTool.Constant.labelCol"
-                                    :wrapperCol="BaseTool.Constant.wrapperCol"
-                            >
-                                                                    <a-input
-                                            v-decorator="['filedName', {rules: [{required: true, message: '对应英文属性名称不能为空'}]}]"/>
-                                                            </a-form-item>
-                        </row-item>
-                                                                                <row-item>
+          <a-form-item label="对应英文属性名称" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
+            <a-input v-decorator="['filedName', {rules: [{required: true, message: '对应英文属性名称不能为空'}]}]" />
+          </a-form-item>
+        </row-item>
+        <row-item>
 
-                            <a-form-item
-                                    label="处理人ID"
-                                    :labelCol="BaseTool.Constant.labelCol"
-                                    :wrapperCol="BaseTool.Constant.wrapperCol"
-                            >
-                                                                    <a-input
-                                            v-decorator="['taskRecordId', {rules: [{required: true, message: '处理人ID不能为空'}]}]"/>
-                                                            </a-form-item>
-                        </row-item>
-                                                </row-list>
-        </a-form>
-                                                                                                                                                                                                                                                                                                                                                                                                                        </a-card>
+          <a-form-item label="处理人ID" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
+            <a-input v-decorator="['taskRecordId', {rules: [{required: true, message: '处理人ID不能为空'}]}]" />
+          </a-form-item>
+        </row-item>
+      </row-list>
+    </a-form>
+  </a-card>
 </template>
 
 <script>
-    import pick from 'lodash.pick'
-    import {addWorkflowTaskBomField, updateWorkflowTaskBomField } from '@/api/workflow/field'
-                                                                                                                                                                                                                                                                                                                                                                                                                        export default {
-        name: 'BaseWorkflowTaskBomField',
-        data() {
-            return {
-                confirmLoading: false,
-                modalTitle: null,
-                form: this.$form.createForm(this),
-                visible: false,
-            // 下拉框map
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        }
-        },
-        props: {},
-        created() {
-            // 下拉框map
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        },
-        methods: {
-            base(record) {
-                this.visible = true
-                // 如果是空标识添加
-                if (this.BaseTool.Object.isBlank(record)) {
-                    this.modalTitle = '添加'
-                    return
-                }
-                this.modalTitle = '编辑'
-                const {form: {setFieldsValue}} = this
-                // 日期处理
-                                this.$nextTick(() => {
-                    setFieldsValue(Object.assign(pick(record, [
-                                                                                    'id',
-                                                                                                                                                                                                                                                                                                                                                                                                                                        'name',
-                                                                                                                'filedName',
-                                                                                                                'taskRecordId',
-                                                    ])))
-                })
-            },
-            save() {
-                const {form: {validateFieldsAndScroll}} = this
-                this.confirmLoading = true
-                validateFieldsAndScroll((errors, values) => {
-                    if (errors) {
-                        this.confirmLoading = false
-                        return
-                    }
-                    // 日期处理
-                                        if (this.BaseTool.String.isBlank(values.id)) {
-                        addWorkflowTaskBomField(values)
-                                .then(() => {
-                                    this.handleCancel(values)
-                                }).catch(() => {
-                            this.confirmLoading = false
-                        })
-                    } else {
-                        updateWorkflowTaskBomField(values)
-                                .then(() => {
-                                    this.handleCancel(values)
-                                }).catch(() => {
-                            this.confirmLoading = false
-                        })
-                    }
-                })
-            },
-            handleCancel(values) {
-                this.visible = false
-                this.confirmLoading = false
-                this.form.resetFields()
-                if (this.BaseTool.Object.isNotBlank(values)) {
-                    this.$emit('ok', values)
-                } else {
-                    this.$emit('ok')
-                }
-            }
-                                                                                                                                                                                                                                                                                                            }
+import pick from 'lodash.pick'
+import { addWorkflowTaskBomField, updateWorkflowTaskBomField } from '@/api/workflow/field'
+export default {
+  name: 'BaseWorkflowTaskBomField',
+  data() {
+    return {
+      confirmLoading: false,
+      modalTitle: null,
+      form: this.$form.createForm(this),
+      visible: false,
+      // 下拉框map
     }
+  },
+  props: {},
+  created() {
+    // 下拉框map
+  },
+  methods: {
+    base(record) {
+      this.visible = true
+      // 如果是空标识添加
+      if (this.BaseTool.Object.isBlank(record)) {
+        this.modalTitle = '添加'
+        return
+      }
+      this.modalTitle = '编辑'
+      const {
+        form: { setFieldsValue },
+      } = this
+      // 日期处理
+      this.$nextTick(() => {
+        setFieldsValue(Object.assign(pick(record, ['id', 'name', 'filedName', 'taskRecordId'])))
+      })
+    },
+    save() {
+      const {
+        form: { validateFieldsAndScroll },
+      } = this
+      this.confirmLoading = true
+      validateFieldsAndScroll((errors, values) => {
+        if (errors) {
+          this.confirmLoading = false
+          return
+        }
+        // 日期处理
+        if (this.BaseTool.String.isBlank(values.id)) {
+          addWorkflowTaskBomField(values)
+            .then(() => {
+              this.handleCancel(values)
+            })
+            .catch(() => {
+              this.confirmLoading = false
+            })
+        } else {
+          updateWorkflowTaskBomField(values)
+            .then(() => {
+              this.handleCancel(values)
+            })
+            .catch(() => {
+              this.confirmLoading = false
+            })
+        }
+      })
+    },
+    handleCancel(values) {
+      this.visible = false
+      this.confirmLoading = false
+      this.form.resetFields()
+      if (this.BaseTool.Object.isNotBlank(values)) {
+        this.$emit('ok', values)
+      } else {
+        this.$emit('ok')
+      }
+    },
+  },
+}
 </script>

+ 5 - 3
src/views/workplace/publish/WaitWork.vue

@@ -45,18 +45,20 @@
         </span>
       </s-table>
     </div>
+    <AuditDetail ref="auditDetail" @ok="handleOk" />
   </a-card>
 </template>
 
 <script>
 import { STable, Ellipsis } from '@/components'
 import { getWorplacePublishPage, getWorkflowBomInfo } from '@/api/workflow/publish'
-
+import AuditDetail from './modules/AuditDetail.vue'
 export default {
   name: 'WorkflowTaskList',
   components: {
     STable,
     Ellipsis,
+    AuditDetail,
   },
   props: {
     personalType: {
@@ -242,10 +244,10 @@ export default {
     },
     handleAudit(id) {
       getWorkflowBomInfo({ id }).then((res) => {
-        console.log(res.data)
+        this.visible = false
+        this.$refs.auditDetail.base(res.data)
       })
     },
-    handleView(record) {},
     handleOk(values) {
       this.visible = true
       this.$refs.table.refresh()

+ 117 - 0
src/views/workplace/publish/modules/AuditDetail.vue

@@ -0,0 +1,117 @@
+<template>
+  <a-card :bordered="false" v-show="visible" class="card" :title="modalTitle">
+    <a-row :gutter="48" slot="extra">
+      <a-col :md="48" :sm="48">
+        <a-space class="table-page-search-submitButtons">
+          <a-button :loading="confirmLoading" type="primary" @click="save()">提交</a-button>
+          <a-button type="default" @click="handleCancel()">返回</a-button>
+        </a-space>
+      </a-col>
+    </a-row>
+    <title-divider title="基础信息" width="140px"></title-divider>
+    <a-descriptions bordered>
+      <template v-for="item in descriptions">
+        <a-descriptions-item v-if="item.type==='dataSelect'" :key="item.value" :label="item.label">
+          {{ detail[item.attrs.connect[1].bind] }}
+        </a-descriptions-item>
+        <a-descriptions-item v-else :key="item.value" :label="item.label">
+          {{ detail[item.value] }}
+        </a-descriptions-item>
+      </template>
+
+    </a-descriptions>
+    <title-divider title="审核信息" width="140px"></title-divider>
+    <a-form :form="form" :labelCol="BaseTool.Constant.labelCol" :wrapperCol="BaseTool.Constant.wrapperCol">
+      <a-form-item v-show="false">
+        <a-input v-decorator="['taskBomId']" type="hidden" />
+        <a-input v-decorator="['taskId']" type="hidden" />
+      </a-form-item>
+      <a-form-item label="审批">
+        <a-select v-decorator="['handleStatus', {initialValue:3, rules: [{required: true, message: '审批不能为空'}]}]" @change="handleSelect">
+          <template v-for="(label,value) in statusMap">
+            <a-select-option v-if="value>2" :key="value" :value="parseInt(value)">{{label}}</a-select-option>
+          </template>
+        </a-select>
+      </a-form-item>
+      <a-form-item label="审批备注">
+        <a-textarea v-decorator="['handleRemark', {initialValue:'同意',rules: [{required: true, message: '审批备注不能为空'}]}]" />
+      </a-form-item>
+    </a-form>
+  </a-card>
+</template>
+
+<script>
+import { verifyWorkflow } from '@/api/workflow/publish'
+export default {
+  name: 'WorkflowTaskBomFieldDetail',
+  components: {},
+  data() {
+    return {
+      confirmLoading: false,
+      modalTitle: null,
+      visible: false,
+      form: this.$form.createForm(this),
+      // 下拉框map
+      statusMap: {},
+      model: {},
+      detail: {},
+      descriptions: [],
+    }
+  },
+  created() {
+    // 下拉框map
+    this.statusMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.TASK_RECORD_STATUS)
+  },
+  methods: {
+    base(record) {
+      this.visible = true
+      this.modalTitle = '详情'
+      this.model = record
+      this.detail = JSON.parse(record.data.jsonString)
+      this.descriptions = JSON.parse(record.data.formJsonString).components
+      const {
+        form: { setFieldsValue },
+      } = this
+      // 日期处理
+      this.$nextTick(() => {
+        setFieldsValue({ taskBomId: this.model.id, taskId: this.model.taskId })
+      })
+    },
+    handleSelect(val) {
+      const {
+        form: { setFieldsValue },
+      } = this
+      // 日期处理
+      this.$nextTick(() => {
+        setFieldsValue({ handleRemark: this.statusMap[val] })
+      })
+    },
+    save() {
+      const {
+        form: { validateFieldsAndScroll },
+      } = this
+      this.confirmLoading = true
+      validateFieldsAndScroll((errors, values) => {
+        if (errors) {
+          this.confirmLoading = false
+          return
+        }
+        verifyWorkflow(values)
+          .then((res) => {
+            this.$message.success('提交成功!')
+            this.handleCancel()
+          })
+          .catch(() => {
+            this.confirmLoading = false
+          })
+      })
+    },
+    handleCancel() {
+      this.visible = false
+      this.confirmLoading = false
+      this.form.resetFields()
+      this.$emit('ok')
+    },
+  },
+}
+</script>