浏览代码

分部显示

lex-xin 3 年之前
父节点
当前提交
e71fc94248

+ 17 - 0
src/api/process/work-order.js

@@ -87,3 +87,20 @@ export function reopenWorkOrder(id) {
     method: 'post'
   })
 }
+
+// 获取所有分部
+export function queryAllOrgan() {
+  return request({
+    url: `/api-web/eduOrganization/queryAllOrgan`,
+    method: 'get'
+  })
+}
+
+// 获取合作单位
+export function getOrganCooperation(params) {
+  return request({
+    url: `/api-web/eduOrganization/getOrganCooperation`,
+    method: 'get',
+    params
+  })
+}

+ 7 - 2
src/components/VueFormMaking/components/GenerateForm.vue

@@ -28,6 +28,7 @@
                   :key="citem.key"
                   :preview="preview"
                   :models.sync="models"
+                  :organ-list="itemOrganList"
                   :remote="remote"
                   :widget="citem"
                   :data="data"
@@ -89,6 +90,7 @@
                         :data="data"
                         :disabled="disabled"
                         :is-label="false"
+                        :organ-list="itemOrganList"
                         :subform-index="scope.$index"
                         :subform-model="item.model"
                       />
@@ -109,6 +111,7 @@
             :widget="item"
             :remote="remote"
             :data="data"
+            :organ-list="itemOrganList"
             :disabled="disabled"
             @input-change="onInputChange"
           />
@@ -128,13 +131,14 @@ export default {
     GenetateFormItem
   },
   /* eslint-disable */
-  props: ['data', 'remote', 'value', 'insite', 'disabled', 'preview'],
+  props: ['data', 'remote', 'value', 'insite', 'disabled', 'preview', 'organList'],
   data() {
     return {
       tableData: [],
       models: {},
       rules: {},
-      subformFields: {}
+      subformFields: {},
+      itemOrganList: [],
     }
   },
   watch: {
@@ -152,6 +156,7 @@ export default {
     }
   },
   created() {
+    this.itemOrganList = this.organList
     this.generateModle(this.data.list)
   },
   mounted() {

+ 14 - 2
src/components/VueFormMaking/components/GenerateFormItem.vue

@@ -74,7 +74,7 @@
         />
       </template>
       <template v-else>
-        <div>
+        <div v-if="dataModel && dataModel.length > 0">
           {{ dataModel }}
         </div>
       </template>
@@ -363,7 +363,7 @@ export default {
     FileUpload
   },
   /* eslint-disable */
-  props: ['widget', 'models', 'propValue', 'remote', 'data', 'disabled', 'preview', 'isLabel', 'subformIndex', 'subformModel'],
+  props: ['widget', 'models', 'propValue', 'remote', 'data', 'disabled', 'preview', 'isLabel', 'subformIndex', 'subformModel', 'organList'],
   data() {
     return {
       showStatus: true,
@@ -413,6 +413,18 @@ export default {
     }
   },
   created() {
+    // console.log(this.widget, this.models,this.propValue)
+    // 判断当前元素是否是分部表单()
+    if(this.widget.type == 'organ' && this.preview) {
+      console.log(this.dataModel, this.organList)
+      let tempStr = null
+      this.organList.forEach(item => {
+        if(item.id == this.dataModel) {
+          tempStr = item.name
+        }
+      });
+      this.dataModel = tempStr
+    }
     if (this.widget.options.remote && this.remote[this.widget.options.remoteFunc]) {
       this.remote[this.widget.options.remoteFunc]((data) => {
         this.widget.options.remoteOptions = data.map(item => {

+ 12 - 1
src/views/process/list/handle.vue

@@ -86,6 +86,7 @@
               :remote="remoteFunc"
               :value="tplItem.form_data"
               :data="tplItem.form_structure"
+              :organ-list="organList"
             />
           </template>
         </div>
@@ -177,7 +178,8 @@ Vue.component(GenerateForm.name, GenerateForm)
 import {
   processStructure,
   handleWorkOrder,
-  activeOrder
+  activeOrder,
+  queryAllOrgan
 } from '@/api/process/work-order'
 
 import { listUser } from '@/api/system/sysuser'
@@ -193,6 +195,7 @@ export default {
       },
       isActiveProcessing: false,
       tpls: [],
+      organList: [],
       remarks: '', // 备注信息
       alertMessage: '',
       nodeStepList: [],
@@ -232,6 +235,7 @@ export default {
     ])
   },
   created() {
+    this.getAllOrgan()
     this.getProcessNodeList()
   },
   methods: {
@@ -327,6 +331,13 @@ export default {
       activeOrder(jsonData, this.$route.query.workOrderId).then(() => {
         this.getProcessNodeList()
       })
+    },
+    getAllOrgan() {
+      queryAllOrgan().then(res => {
+        if (res.code == 200) {
+          this.organList = res.data
+        }
+      })
     }
   }
 }