hfxc226 2 gadi atpakaļ
vecāks
revīzija
6aefc694fc

+ 3 - 3
public/hitch-screen/point.html

@@ -43,13 +43,13 @@
   const ACCESS_TOKEN = 'Access-Token'
   const VUE_STORE_BASE = 'pro__'
 
-  var id = window.location.search.split("id=")[1]
+  let id = window.location.search.split('id=')[1]
   id = filterUrlData(id);
 
-  var xx =  window.location.search.split("zjm=")[1];
+  let xx =  window.location.search.split("zjm=")[1];
   xx = filterUrlData(xx) || 0;
 
-  var yy = window.location.search.split("jbdh=")[1] || 0;
+  let yy = window.location.search.split("jbdh=")[1] || 0;
   yy = filterUrlData(yy);
 
   // 初始化设备位置

+ 32 - 0
src/api/activiti/activiti.js

@@ -17,6 +17,38 @@ export function getTaskPage (parameter) {
   })
 }
 
+/**
+ * page func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function getTaskPageClaim (parameter) {
+  return axios({
+    url: '/act/my-task/claim/page?' + stringify(parameter),
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
+/**
+ * page func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function getTaskPageFinish (parameter) {
+  return axios({
+    url: '/act/my-task/finish/page?' + stringify(parameter),
+    method: 'get',
+    headers: {
+      'Content-Type': 'application/json;charset=UTF-8'
+    }
+  })
+}
+
 /**
  * 审批 func
  * parameter: { }

+ 14 - 1
src/api/design/designForm.js

@@ -49,7 +49,20 @@ export function updateDesignForm (parameter) {
     })
 }
 
-                                    
+/**
+ * update func
+ * parameter: { }
+ * @param parameter
+ * @returns {*}
+ */
+export function updateDesignFormDesignData (parameter) {
+  return axios({
+    url: '/design/design-forms/design/' + parameter.id,
+    method: 'PUT',
+    data: parameter
+  })
+}
+
 /**
  * fetch single func
  * parameter: { }

+ 3 - 2
src/router/generator-platform-routers.js

@@ -219,10 +219,11 @@ const constantRouterComponents = {
   // 审批
   'Model': () => import('@/views/activiti/model/Model'),
   'Flow': () => import('@/views/activiti/flow/Flow'),
-  'MyTask': () => import('@/views/activiti/task/MyTask'),// 我的待办
+  'MyTask': () => import('@/views/activiti/task/MyTask'), // 我的待办
   'MyTaskFinish': () => import('@/views/activiti/task/MyTaskFinish'), // 我的已办
+  'MyTaskClaim': () => import('@/views/activiti/task/MyTaskClaim'), // 我的签收
   'MyStart': () => import('@/views/activiti/task/MyStart'), // 我的申请
-  'ActivitiUserModel': () => import('@/views/activiti/user-model/ActivitiUserModel'),
+  'ActivitiUserModel': () => import('@/views/activiti/user-model/ActivitiUserModel'), // 流程审批节点设置
   'DesignForm': () => import('@/views/design/designForm/DesignForm'),
   // 调拨申请
   'SbAllocateApply': () => import('@/views/sb/allocate-apply/ProjectSbAllocateApply'),

+ 2 - 2
src/utils/dict.js

@@ -301,8 +301,8 @@ DictCache.VALUE = {
    * 是否删除
    */
   DELFLAG: {
-    NORMAL: 1, // 正常
-    DELETED: 2 // 已删除
+    NORMAL: 0, // 正常
+    DELETED: 1 // 已删除
   },
 
   /**

+ 2 - 2
src/views/activiti/ImageDefModal.vue

@@ -1,13 +1,13 @@
 <template>
   <a-modal
     title="流程图"
-    :width="800"
+    :width="1200"
     :visible="visible"
     :confirmLoading="confirmLoading"
     @cancel="handleCancel"
   >
     <div>
-      <img :src="image1" />
+      <img style="width: 90%" :src="image1" />
     </div>
     <template slot="footer">
       <a-button :loading="confirmLoading" type="primary" @click="handleCancel()">关闭</a-button>

+ 3 - 3
src/views/activiti/ImageModal.vue

@@ -1,14 +1,14 @@
 <template>
   <a-modal
     title="流程图"
-    :width="800"
+    :width="1200"
     :visible="visible"
     :confirmLoading="confirmLoading"
     @cancel="handleCancel"
   >
     <div>
-      <img :src="image1" v-show="!showFlag" />
-      <img :src="image2" v-show="showFlag"/>
+      <img style="width: 90%" :src="image1" v-show="!showFlag" />
+      <img style="width: 90%" :src="image2" v-show="showFlag"/>
     </div>
     <template slot="footer">
       <a-button :loading="confirmLoading" type="primary" @click="handleCancel()">关闭</a-button>

+ 202 - 0
src/views/activiti/task/MyTaskClaim.vue

@@ -0,0 +1,202 @@
+<template>
+  <a-card :bordered="false">
+    <div v-if="visible">
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="关键字">
+                <a-input v-model.trim="queryParam.keyword" placeholder="请输入名称/类型名称"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8 || 24" :sm="24">
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
+                <a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
+              </span>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+
+      <s-table
+        ref="table"
+        size="small"
+        rowKey="id"
+        :columns="columns"
+        :data="loadData"
+        showPagination="auto"
+      >
+        <span slot="action" slot-scope="record">
+          <template>
+            <a @click="handleAudit(record)">审批</a>
+            <a-divider type="vertical" />
+            <a @click="handleChange(record)">转签</a>
+          </template>
+        </span>
+      </s-table>
+    </div>
+    <audit ref="auditModal" @ok="handleOk"/>
+    <suplier-audit-form ref="supplierAuditModal" @ok="handleOk"/>
+    <detail-audit-scrap ref="detailAuditScrapModal" @ok="handleOk"/>
+    <assign-form ref="assignForm" @ok="handleOk"/>
+  </a-card>
+</template>
+
+<script>
+import { STable, Ellipsis } from '@/components'
+import Audit from '../audit/Audit'
+import AssignForm from './modules/AssignForm'
+import SuplierAuditForm from '@/views/purchase/supplier/modules/AuditForm'
+import DetailAuditScrap from '@/views/sb/scrap/modules/DetailAuditScrap'
+import { getTaskPageClaim } from '@/api/activiti/activiti'
+
+export default {
+  name: 'TaskList',
+  components: {
+    STable,
+    Ellipsis,
+    SuplierAuditForm,
+    Audit,
+    DetailAuditScrap,
+    AssignForm
+  },
+  data () {
+    return {
+      mdl: {},
+      // 查询参数
+      queryParam: {
+      },
+      // 表头
+      columns: [
+        {
+          title: '序号',
+          dataIndex: 'index',
+          customRender: (text, record, index) => {
+            return `${(this.$refs.table.localPagination.current - 1) * this.$refs.table.localPagination.pageSize + index + 1}`
+          }
+        },
+        {
+          title: '类型',
+          dataIndex: 'targetCode',
+          customRender: (text, record, index) => {
+            if (text === 'supplier') {
+              return '供应商审批'
+            } else if (text === 'sb_info_scrap' || text === '设备报废审批') {
+              return '设备报废审批'
+            }
+          }
+        },
+        {
+          title: '任务名称',
+          dataIndex: 'targetName'
+        },
+        {
+          title: '申请人',
+          dataIndex: 'userName'
+        },
+        {
+          title: '创建时间',
+          dataIndex: 'applyTime'
+        },
+        {
+          title: '操作',
+          key: 'action',
+          width: '220px',
+          align: 'center',
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        return getTaskPageClaim(Object.assign(parameter, this.queryParam))
+          .then(res => {
+            return res.data
+          })
+      },
+      selectedRowKeys: [],
+      selectedRows: [],
+      menus: [],
+      visible: true,
+
+      options: {
+        alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
+        rowSelection: {
+          selectedRowKeys: this.selectedRowKeys,
+          onChange: this.onSelectChange
+        }
+      },
+      optionAlertShow: false
+    }
+  },
+  created () {
+    this.tableOption()
+  },
+  methods: {
+    tableOption () {
+      if (!this.optionAlertShow) {
+        this.options = {
+          alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
+          rowSelection: {
+            selectedRowKeys: this.selectedRowKeys,
+            onChange: this.onSelectChange,
+            getCheckboxProps: record => ({
+              props: {
+                disabled: false,
+                name: record.id
+              }
+            })
+          }
+        }
+        this.optionAlertShow = true
+      } else {
+        this.options = {
+          alert: false,
+          rowSelection: null
+        }
+        this.optionAlertShow = false
+      }
+    },
+    handleAudit (record) {
+      this.visible = false
+      if (record.targetCode === 'purchase_plan') {
+        this.$refs.purchasePlanAuditModal.base(record)
+      } else if (record.targetCode === 'purchase_apply') {
+        this.$refs.purchaseApplyAuditModal.base(record)
+      } else if (record.targetCode === 'purchase_demand_plan') {
+        this.$refs.purchaseDemandPlanAuditModal.base(record)
+      } else if (record.targetCode === 'purchase_demand_plan_add') {
+        this.$refs.purchaseDemandPlanAuditAddModal.base(record)
+      } else if (record.targetCode === 'purchase_bid') {
+        this.$refs.purchaseBidAuditAddModal.base(record)
+      } else if (record.targetCode === 'supplier') {
+        this.$refs.supplierAuditModal.base(record)
+      } else if (record.targetCode === 'sb_info_scrap' || record.targetCode === '设备报废审批') {
+        this.$refs.detailAuditScrapModal.base(record)
+      } else if (record.targetCode === 'sb_info_scrap_second') {
+        this.$refs.detailAuditScrapSecondModal.base(record)
+      }
+      // this.$refs.auditModal.base(record)
+    },
+    handleChange (record) {
+      this.$refs.assignForm.base(record)
+    },
+    handleOk () {
+      this.visible = true
+      this.$refs.table.refresh()
+    },
+    onSelectChange (selectedRowKeys, selectedRows) {
+      this.selectedRowKeys = selectedRowKeys
+      this.selectedRows = selectedRows
+    },
+    resetSearchForm () {
+      this.queryParam = {
+      }
+      this.$refs.table.refresh(true)
+    }
+  }
+}
+</script>
+<style lang="less" scoped>
+
+</style>

+ 2 - 2
src/views/activiti/task/MyTaskFinish.vue

@@ -49,7 +49,7 @@ import Audit from '../audit/Audit'
 import AssignForm from './modules/AssignForm'
 import SuplierAuditForm from '@/views/purchase/supplier/modules/AuditForm'
 import DetailAuditScrap from '@/views/sb/scrap/modules/DetailAuditScrap'
-import { getTaskPage } from '@/api/activiti/activiti'
+import { getTaskPageFinish } from '@/api/activiti/activiti'
 
 export default {
   name: 'TaskList',
@@ -109,7 +109,7 @@ export default {
       ],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
-        return getTaskPage(Object.assign(parameter, this.queryParam))
+        return getTaskPageFinish(Object.assign(parameter, this.queryParam))
           .then(res => {
             return res.data
           })

+ 29 - 11
src/views/design/designForm/DesignForm.vue

@@ -66,6 +66,14 @@
               :type="2"
               title="是否要删除该条数据?"
               @confirm="batchDelete(record.id)">删除</operation-button>
+            <operation-button
+              v-if="$auth('design-design-forms-edit')"
+              @click="handleDesign(record)"
+            >设计</operation-button>
+            <operation-button
+              v-if="$auth('design-design-forms-edit')"
+              @click="handleViewDesign(record)"
+            >预览</operation-button>
           </template>
         </span>
       </s-table>
@@ -114,21 +122,16 @@ export default {
           dataIndex: 'name'
         },
         {
-          title: '表单类型。0:简单表单;1:复杂表单;',
-          dataIndex: 'type'
+          title: '是否复杂表单',
+          dataIndex: 'type',
+          customRender: (text, record, index) => {
+            return this.BaseTool.Object.getField(this.typeMap, text)
+          }
         },
         {
-          title: '表单主题。不配置默认为表单名称',
+          title: '表单主题',
           dataIndex: 'theme'
         },
-        {
-          title: '表单设计数据。',
-          dataIndex: 'designData'
-        },
-        {
-          title: '表单js代码。仅当复杂表单才有',
-          dataIndex: 'jsCode'
-        },
         {
           title: '创建时间',
           dataIndex: 'createTime'
@@ -160,6 +163,7 @@ export default {
       selectedRowKeys: [],
       selectedRows: [],
 
+      typeMap: {},
       options: {
         alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
         rowSelection: {
@@ -172,6 +176,7 @@ export default {
   },
   created () {
     // 下拉框map
+    this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
     this.tableOption()
   },
   methods: {
@@ -236,6 +241,19 @@ export default {
         modal.base(res.data)
       })
     },
+    handleDesign (record) {
+      const a = document.createElement('a')
+      a.href = '/kdesign/design?id=' + record.id + '&code=' + record.code + '&name=' + record.name + '&type=' + record.type + '&theme=' + record.theme
+      a.target = '_blank'
+      a.click()
+    },
+    handleDesignView (record) {
+      this.visible = false
+      fetchDesignForm({ id: record.id }).then(res => {
+        const modal = this.$refs.detailModal
+        modal.base(res.data)
+      })
+    },
     handleOk (values) {
       this.visible = true
       this.$refs.table.refresh()

+ 29 - 34
src/views/design/designForm/modules/BaseForm.vue

@@ -38,57 +38,50 @@
           </a-form-item>
         </row-item>
         <row-item>
-
           <a-form-item
-            label="表单类型。0:简单表单;1:复杂表单;"
+            label="是否复杂表单"
             :labelCol="BaseTool.Constant.labelCol"
             :wrapperCol="BaseTool.Constant.wrapperCol"
           >
+            <a-select v-decorator="['type', { rules: [{required: true, message: '是否复杂表单不能为空'}]}]" placeholder="请选择">
+              <a-select-option
+                v-for="(label,value) in typeMap"
+                :key="value"
+                :label="label"
+                :value="parseInt(value)">{{ label }}
+              </a-select-option>
+            </a-select>
           </a-form-item>
         </row-item>
         <row-item>
 
           <a-form-item
-            label="表单主题。不配置默认为表单名称"
+            label="表单主题"
             :labelCol="BaseTool.Constant.labelCol"
             :wrapperCol="BaseTool.Constant.wrapperCol"
           >
             <a-input
-              v-decorator="['theme', {rules: [{required: true, message: '表单主题。不配置默认为表单名称不能为空'}]}]"/>
+              v-decorator="['theme', {rules: [{required: true, message: '表单主题不能为空'}]}]"/>
           </a-form-item>
         </row-item>
-        <row-item>
+        <!--        <row-item>
 
-          <a-form-item
-            label="表单设计数据"
-            :labelCol="BaseTool.Constant.labelCol"
-            :wrapperCol="BaseTool.Constant.wrapperCol"
-          >
-          </a-form-item>
-        </row-item>
-        <row-item>
+         <a-form-item
+           label="表单设计数据"
+           :labelCol="BaseTool.Constant.labelCol"
+           :wrapperCol="BaseTool.Constant.wrapperCol"
+         >
+         </a-form-item>
+       </row-item>
+       <row-item>
 
-          <a-form-item
-            label="表单js代码。仅当复杂表单才有"
-            :labelCol="BaseTool.Constant.labelCol"
-            :wrapperCol="BaseTool.Constant.wrapperCol"
-          >
-          </a-form-item>
-        </row-item>
-        <row-item>
-
-          <a-form-item
-            label="创建时间"
-            :labelCol="BaseTool.Constant.labelCol"
-            :wrapperCol="BaseTool.Constant.wrapperCol"
-          >
-            <a-date-picker
-              showTime
-              style="width: 100%"
-              :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
-              v-decorator="['createTime', {rules: [{required: true, message: '创建时间不能为空'}]}]"/>
-          </a-form-item>
-        </row-item>
+         <a-form-item
+           label="表单js代码"
+           :labelCol="BaseTool.Constant.labelCol"
+           :wrapperCol="BaseTool.Constant.wrapperCol"
+         >
+         </a-form-item>
+       </row-item>-->
       </row-list>
     </a-form>
   </a-card>
@@ -103,6 +96,7 @@ export default {
     return {
       confirmLoading: false,
       modalTitle: null,
+      typeMap: {},
       form: this.$form.createForm(this),
       visible: false
       // 下拉框map
@@ -111,6 +105,7 @@ export default {
   props: {},
   created () {
     // 下拉框map
+    this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
   },
   methods: {
     base (record) {

+ 8 - 15
src/views/design/designForm/modules/DesignFormSelectModal.vue

@@ -120,25 +120,16 @@ export default {
           dataIndex: 'name'
         },
         {
-          title: '表单类型。0:简单表单;1:复杂表单;',
-          dataIndex: 'type'
+          title: '是否复杂表单',
+          dataIndex: 'type',
+          customRender: (text, record, index) => {
+            return this.BaseTool.Object.getField(this.typeMap, text)
+          }
         },
         {
-          title: '表单主题。不配置默认为表单名称',
+          title: '表单主题',
           dataIndex: 'theme'
         },
-        {
-          title: '表单设计数据。',
-          dataIndex: 'designData'
-        },
-        {
-          title: '表单js代码。仅当复杂表单才有',
-          dataIndex: 'jsCode'
-        },
-        {
-          title: '创建时间',
-          dataIndex: 'createTime'
-        },
         {
           title: '操作',
           key: 'action',
@@ -167,6 +158,7 @@ export default {
       selectedRowKeys: [],
       selectedRows: [],
 
+      typeMap: {},
       options: {
         alert: { show: true, clear: () => { this.selectedRowKeys = [] } },
         rowSelection: {
@@ -180,6 +172,7 @@ export default {
   },
   created () {
     // 下拉框map
+    this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
   },
   methods: {
     tableOption () {

+ 6 - 5
src/views/design/designForm/modules/Detail.vue

@@ -10,10 +10,10 @@
     <detail-list title="" :col="2">
       <detail-list-item term="表单代号">{{ model.code }}</detail-list-item>
       <detail-list-item term="表单名称">{{ model.name }}</detail-list-item>
-      <detail-list-item term="表单类型。0:简单表单;1:复杂表单;">{{ model.type }}</detail-list-item>
-      <detail-list-item term="表单主题。不配置默认为表单名称">{{ model.theme }}</detail-list-item>
-      <detail-list-item term="表单设计数据">{{ model.designData }}</detail-list-item>
-      <detail-list-item term="表单js代码。仅当复杂表单才有">{{ model.jsCode }}</detail-list-item>
+      <detail-list-item term="是否复杂表单">{{ BaseTool.Object.getField(typeMap,model.type) }}</detail-list-item>
+      <detail-list-item term="表单主题">{{ model.theme }}</detail-list-item>
+      <detail-list-item term="表单设计数据">{{ model.designData }}</detail-list-item>
+      <detail-list-item term="表单js代码">{{ model.jsCode }}</detail-list-item>
       <detail-list-item term="创建时间">{{ model.createTime }}</detail-list-item>
       <detail-list-item term="更新时间">{{ model.updateTime }}</detail-list-item>
     </detail-list>
@@ -36,6 +36,7 @@ export default {
       mdl: {},
       modalTitle: null,
       visible: false,
+      typeMap: {},
       // 下拉框map
       model: {
         'code': null,
@@ -51,7 +52,7 @@ export default {
   },
   created () {
     // 下拉框map
-
+    this.typeMap = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.YES_NO)
   },
   methods: {
     base (record) {

+ 26 - 1
src/views/kdesign/Design.vue

@@ -1,14 +1,39 @@
 <template>
   <div>
-    <k-form-design />
+    <k-form-design :title="title" @save="handleSave" ref='kfd'/>
   </div>
 </template>
 
 <script>
+import { updateDesignFormDesignData } from '@/api/design/designForm'
 
+const id = '628e27250e1cb13acc4ef848'
 export default {
   name: 'Design',
+  created () {
+  },
+  mounted () {
+  },
   data () {
+    return {
+      title: '设备报废表单'
+    }
+  },
+  methods: {
+    handleSave (values) {
+      alert('触发保存方法')
+      console.log(values)
+      // 日期处理
+      const parameter = {}
+      parameter.designData = values
+      parameter.id = id
+      updateDesignFormDesignData(parameter)
+        .then(() => {
+          this.$message.info('保存成功')
+        }).catch(() => {
+          this.confirmLoading = false
+        })
+    }
   }
 }
 </script>

+ 62 - 0
src/views/kdesign/DesignBuild.vue

@@ -0,0 +1,62 @@
+<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>
+    <div >
+      <k-form-build ref="kfb" :value="jsonData" />
+    </div>
+  </a-card>
+</template>
+
+<script>
+import { updateDesignFormDesignData } from '@/api/design/designForm'
+
+export default {
+  name: 'Design',
+  created () {
+  },
+  mounted () {
+  },
+  data () {
+    return {
+      title: '设备报废表单填报',
+      visible: false,
+      jsonData: {}
+    }
+  },
+  methods: {
+    base (record) {
+      this.visible = true
+      this.model = record
+    },
+    handleSave (values) {
+      console.log(values)
+      // 日期处理
+      const parameter = this.model
+      parameter.designData = values
+      updateDesignFormDesignData(parameter)
+        .then(() => {
+          this.$message.info('保存成功')
+        }).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>

+ 2 - 2
src/views/operate/article/modules/BaseForm.vue

@@ -243,12 +243,12 @@ export default {
           status: this.status,
           content: this.resultContent ? this.resultContent : this.content
         }
-        /*if (this.type === 2) {
+        /* if (this.type === 2) {
           if (values.parentId == null) {
             this.$message.error('请选择父文章')
             return
           }
-        }*/
+        } */
         if (this.BaseTool.String.isBlank(values.id)) {
           addArticle(values)
             .then(() => {

+ 2 - 0
src/views/sb/scrap/SbInfoScrap.vue

@@ -82,6 +82,8 @@
                 <a-divider type="vertical" />
                 <a v-if="record.status != 3 && record.status != 4" @click="handleEdit(record)">报废</a>
                 <a-divider type="vertical" />
+                <a v-if="record.status == 41" @click="handleEdit(record)">再次提交</a>
+                <a-divider type="vertical" />
                 <a @click="handleViewImage(record)">流程图</a>
                 <a-divider type="vertical" />
                 <a @click="handleViewHistory(record)">审批历史</a>