Kaynağa Gözat

Merge branch 'master' of http://119.23.210.103:3000/wy/mj_firm_former

cfort 3 yıl önce
ebeveyn
işleme
8b81e640f4

+ 107 - 224
src/business/platform/data/templaterender/templates/list.vue

@@ -1,52 +1,25 @@
 <template>
   <div>
-    <ibps-crud
-      v-if="$utils.isNotEmpty(listConfig)"
-      ref="crud"
-      :data="listData"
-      :pk-key="pkKey"
-      :toolbars="listConfig.toolbars"
-      :search-form="listConfig.searchForm"
-      :columns="listConfig.columns"
-      :row-handle="listConfig.rowHandle"
-      :pagination="pagination"
-      :show-pagination="showPagination"
-      :height="tableHeight"
-      :index-row="indexRow"
-      :loading="loading"
-      :selection-type="selectionType"
-      :display-field="displayField"
-      :display-field-data="displayFieldData"
-      class="hidden-print"
-      :dynamicParams="dynamicParams"
-      :formName= "template ? template.attrs.form_name: ''"
-      :class="{
+    <ibps-crud v-if="$utils.isNotEmpty(listConfig)" ref="crud" :data="listData" :pk-key="pkKey"
+      :toolbars="listConfig.toolbars" :search-form="listConfig.searchForm" :columns="listConfig.columns"
+      :row-handle="listConfig.rowHandle" :pagination="pagination" :show-pagination="showPagination"
+      :height="tableHeight" :index-row="indexRow" :loading="loading" :selection-type="selectionType"
+      :display-field="displayField" :display-field-data="displayFieldData" class="hidden-print"
+      :dynamicParams="dynamicParams" :formName="template ? template.attrs.form_name : ''" :class="{
         'ibps-data-template-list__preview': preview
-      }"
-      @display-field-change="handleDisplayField"
-      @header-dragend="handleHeaderDragend"
-      @selection-change="handleSelectionChange"
-      @action-event="handleAction"
-      @sort-change="handleSortChange"
-      @pagination-change="handlePaginationChange"
-    >
+      }" @display-field-change="handleDisplayField" @header-dragend="handleHeaderDragend"
+      @selection-change="handleSelectionChange" @action-event="handleAction" @sort-change="handleSortChange"
+      @pagination-change="handlePaginationChange">
       <!--自定义查询条件-->
       <template v-slot:searchForm>
-        <search-form
-          v-if="listConfig.searchForm"
-          ref="searchForm"
-          :forms="listConfig.searchForm.forms||[]"
-          :size="listConfig.searchForm.size"
-          :fuzzy="listConfig.searchForm.fuzzy"
-          :inline="listConfig.searchForm.inline"
-          :label-width="listConfig.searchForm.labelWidth"
-          :item-width="listConfig.searchForm.itemWidth"
-          @search="search"
-        />
+        <search-form v-if="listConfig.searchForm" ref="searchForm" :forms="listConfig.searchForm.forms || []"
+          :size="listConfig.searchForm.size" :fuzzy="listConfig.searchForm.fuzzy" :inline="listConfig.searchForm.inline"
+          :label-width="listConfig.searchForm.labelWidth" :item-width="listConfig.searchForm.itemWidth"
+          @search="search" />
       </template>
       <!--数字-->
       <template v-slot:number="scope">
-        {{ scope.value |filterNumber(scope.column.field_options) }}
+        {{ scope.value | filterNumber(scope.column.field_options) }}
       </template>
       <!--多行-->
       <template v-slot:textarea="scope">
@@ -58,52 +31,34 @@
       </template>
       <!--数据字典-->
       <template v-slot:dictionary="scope">
-        <dictionary-format
-          :value="scope.value"
-          :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
+        <dictionary-format :value="scope.value" :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)"
           :dict="{
-            typeKey:scope.column.field_options.dictionary,
-            displayMode:scope.column.field_options.display_mode
-          }"
-        />
+            typeKey: scope.column.field_options.dictionary,
+            displayMode: scope.column.field_options.display_mode
+          }" />
       </template>
       <!--附件-->
       <template v-slot:attachment="scope">
-          <ibps-attachment
-            v-if="$utils.isNotEmpty(scope.column) && scope.value"
-            v-model="scope.value"
-            :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
-            :download="false"
-            :store="scope.column.field_options.store"
-            :readonly="true"
-          />
+        <ibps-attachment v-if="$utils.isNotEmpty(scope.column) && scope.value" v-model="scope.value"
+          :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)" :download="false"
+          :store="scope.column.field_options.store" :readonly="true" />
       </template>
       <!--选择器-->
       <template v-slot:selector="scope">
-        <ibps-user-selector
-          v-if="$utils.isNotEmpty(scope.column)"
-          v-model="scope.value"
-          :type="scope.column.field_options.selector_type||'user'"
-          :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
-          :store="scope.column.field_options.store||'id'"
-          disabled
-          readonly-text="text"
-        />
+        <ibps-user-selector v-if="$utils.isNotEmpty(scope.column)" v-model="scope.value"
+          :type="scope.column.field_options.selector_type || 'user'"
+          :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)"
+          :store="scope.column.field_options.store || 'id'" disabled readonly-text="text" />
       </template>
       <!--自定义对话框-->
       <template v-slot:customDialog="scope">
-        <ibps-custom-dialog
-          v-if="$utils.isNotEmpty(scope.column)"
-          v-model="scope.value"
+        <ibps-custom-dialog v-if="$utils.isNotEmpty(scope.column)" v-model="scope.value"
           :template-key="scope.column.field_options.dialog"
-          :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
+          :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)"
           :store="scope.column.field_options.store"
-           :dynamic-params="getLinkDynamicParams(scope.column.field_options,scope.row)"
-          :icon="scope.column.field_options.icon?'ibps-icon-'+scope.column.field_options.icon:''"
-          :type="scope.column.field_options.dialog_type"
-          readonly-text="text"
-          disabled
-        />
+          :dynamic-params="getLinkDynamicParams(scope.column.field_options, scope.row)"
+          :icon="scope.column.field_options.icon ? 'ibps-icon-' + scope.column.field_options.icon : ''"
+          :type="scope.column.field_options.dialog_type" readonly-text="text" disabled />
       </template>
       <!--关联数据-->
       <template v-slot:linkdata="scope">
@@ -116,138 +71,65 @@
           :label-type="getLinkLabelType(scope.column.field_options)"
           :label-key="getLinkLabelKey(scope.column.field_options)"
         > -->
-        <ibps-link-data
-          v-if="$utils.isNotEmpty(scope.column)"
-          v-model="scope.value"
+        <ibps-link-data v-if="$utils.isNotEmpty(scope.column)" v-model="scope.value"
           :template-key="scope.column.field_options.linkdata"
-          :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
-          :dynamic-params="getLinkDynamicParams(scope.column.field_options,scope.row)"
+          :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)"
+          :dynamic-params="getLinkDynamicParams(scope.column.field_options, scope.row)"
           :has-dynamic-params="hasDynamicParams(scope.column.field_options)"
           :value-key="getLinkValueKey(scope.column.field_options)"
           :label-type="getLinkLabelType(scope.column.field_options)"
           :label-key="getLinkLabelKey(scope.column.field_options)"
-          :structure="getLinkStructure(scope.column.field_options)"
-          :config="getLinkConfig(scope.column.field_options)"
-          readonly
-          readonly-text="text"
-          allow-empty-dynamic-params
-        />
+          :structure="getLinkStructure(scope.column.field_options)" :config="getLinkConfig(scope.column.field_options)"
+          readonly readonly-text="text" allow-empty-dynamic-params />
       </template>
       <!--地址-->
       <template v-slot:address="scope">
         <template v-if="$utils.isNotEmpty(scope.column)">
-          <ibps-address
-            :value="getAddressValue(scope.value,scope.column.field_options)"
-            :size="scope.column.field_options.size"
-            :top="scope.column.field_options.top || 'country'"
+          <ibps-address :value="getAddressValue(scope.value, scope.column.field_options)"
+            :size="scope.column.field_options.size" :top="scope.column.field_options.top || 'country'"
             :top-val="getAddressTopVal(scope.column.field_options)"
-            :level="scope.column.field_options.level||'district'"
-            data-type="code"
-            :disabled="true"
-            readonly-text="text"
-          />
+            :level="scope.column.field_options.level || 'district'" data-type="code" :disabled="true"
+            readonly-text="text" />
           <span v-if="scope.column.field_options.is_street">{{ getStreet(scope.value) }}</span>
         </template>
       </template>
       <!--图片-->
       <template v-slot:image="scope">
-        <ibps-image
-          v-if="$utils.isNotEmpty(scope.column)"
-          height="45"
-          width="45"
-          v-model="scope.value"
-          :multiple="$utils.toBoolean( scope.column.field_options.multiple,true)"
-          :download="scope.column.field_options.download"
-          :store="scope.column.field_options.store"
-          :disabled="true"
-        />
+        <ibps-image v-if="$utils.isNotEmpty(scope.column)" height="45" width="45" v-model="scope.value"
+          :multiple="$utils.toBoolean(scope.column.field_options.multiple, true)"
+          :download="scope.column.field_options.download" :store="scope.column.field_options.store" :disabled="true" />
       </template>
 
       <template v-slot:customFormatter="scope">
-        <div v-html="customFormatter(scope.column.prop,scope.value,scope.row,scope.column)" />
+        <div v-html="customFormatter(scope.column.prop, scope.value, scope.row, scope.column)" />
       </template>
     </ibps-crud>
 
-    <data-template-formrender-dialog
-      ref="formrender"
-      :visible="dialogFormVisible"
-      :form-key="formKey"
-      :print-template-id="printTemplateId"
-      :default-data="defaultFormData"
-      :dynamicParams = "dynamicParams"
-      :pk-value="pkValue"
-      :toolbars="editToolbars"
-      :readonly="readonly"
-      :template-key="dataTemplate.key"
-      :addDataCont = "addDataCont"
-      @callback="search"
-      @close="visible => dialogFormVisible = visible"
-    />
+    <data-template-formrender-dialog ref="formrender" :visible="dialogFormVisible" :form-key="formKey"
+      :print-template-id="printTemplateId" :default-data="defaultFormData" :dynamicParams="dynamicParams"
+      :pk-value="pkValue" :toolbars="editToolbars" :readonly="readonly" :template-key="dataTemplate.key"
+      :addDataCont="addDataCont" @callback="search" @close="visible => dialogFormVisible = visible" />
     <!-- 流程定义选择器 -->
-    <bpm-def-dialog
-      v-model="dialogValue"
-      :visible="dialogVisible"
-      :form-key="formKey"
-      :multiple="false"
-      :is-data-template-use="true"
-      @close="visible => dialogVisible = visible"
-      @action-event="handleDialogActionEvent"
-    />
+    <bpm-def-dialog v-model="dialogValue" :visible="dialogVisible" :form-key="formKey" :multiple="false"
+      :is-data-template-use="true" @close="visible => dialogVisible = visible"
+      @action-event="handleDialogActionEvent" />
     <!-- 字段导出  -->
-    <ibps-export-columns-dialog
-      :visible="exportColumnsVisible"
-      :data="template"
-      :action="action"
-      :pagination="pagination"
-      @callback="callbackExtFields"
-      @close="visible => exportColumnsVisible = visible"
-    />
+    <ibps-export-columns-dialog :visible="exportColumnsVisible" :data="template" :action="action"
+      :pagination="pagination" @callback="callbackExtFields" @close="visible => exportColumnsVisible = visible" />
     <!-- 字段导入  -->
-    <ibps-import-columns-dialog
-      :visible="importColumnsVisible"
-      :data="template"
-      :fields="fields"
-      :data-template="dataTemplate"
-      @saveUpload="initData"
-      @close="visible => importColumnsVisible = visible"
-    />
+    <ibps-import-columns-dialog :visible="importColumnsVisible" :data="template" :fields="fields"
+      :data-template="dataTemplate" @saveUpload="initData" @close="visible => importColumnsVisible = visible" />
     <!-- ______________-->
-    <ibps-data-template-render-dialog
-      :visible="templateDialogVisible"
-      :template-key="templateDialogKey"
-      :dynamic-params="templateDialogDynamicParams"
-      @close="visible => templateDialogVisible = visible"
-      @action-event="handleTemplateDialogActionEvent"
-    />
+    <ibps-data-template-render-dialog :visible="templateDialogVisible" :template-key="templateDialogKey"
+      :dynamic-params="templateDialogDynamicParams" @close="visible => templateDialogVisible = visible"
+      @action-event="handleTemplateDialogActionEvent" />
     <!-- 表单打印-->
-    <form-print-template
-      :id="printTemplateId"
-      :pk="pkValue"
-      :visible="formPrintTemplateDialogVisible"
-      @close="visible => formPrintTemplateDialogVisible = visible"
-    />
-    <component
-      :is="dialogTemplate"
-      v-if="dialogTemplate"
-      ref="dialogTemplate"
-      v-bind="dialogTemplateAtts"
-    />
-    <bpmn-formrender
-      :visible="npmDialogFormVisible"
-      :def-id="defId"
-      :instance-id="instanceId"
-      :task-id="taskId"
-      :addDataCont = "addDataCont"
-      @callback="search"
-      @close="loadFlowFData"
-    />
-    <Scan
-    :currentScan = "scanName"
-    :scanVisible = "scanVisible"
-    :obj = "obj"
-    v-if="scanVisible"
-    @scanOff = "scanOff"
-    />
+    <form-print-template :id="printTemplateId" :pk="pkValue" :visible="formPrintTemplateDialogVisible"
+      @close="visible => formPrintTemplateDialogVisible = visible" />
+    <component :is="dialogTemplate" v-if="dialogTemplate" ref="dialogTemplate" v-bind="dialogTemplateAtts" />
+    <bpmn-formrender :visible="npmDialogFormVisible" :def-id="defId" :instance-id="instanceId" :task-id="taskId"
+      :addDataCont="addDataCont" @callback="search" @close="loadFlowFData" />
+    <Scan :currentScan="scanName" :scanVisible="scanVisible" :obj="obj" v-if="scanVisible" @scanOff="scanOff" />
   </div>
 </template>
 <script>
@@ -309,7 +191,7 @@ export default {
     IbpsImage,
     DictionaryFormat,
     Scan
-   // BpmnFormrender
+    // BpmnFormrender
     // DataTemplateFormat
   },
   filters: {
@@ -335,26 +217,26 @@ export default {
       default: false
     }
   },
- destroyed(){
-	if(this.dataTemplate.type !=="dialog"){
-	 JTemplate.cleanEvents()
-	 }
+  destroyed() {
+    if (this.dataTemplate.type !== "dialog") {
+      JTemplate.cleanEvents()
+    }
   },
   data() {
     return {
       npmDialogFormVisible: false, // 弹窗
       defId: '', // 编辑dialog需要使用
-      instanceId:'',//流程查看办理详情
-      taskId:'',//流程进入当前任务
+      instanceId: '',//流程查看办理详情
+      taskId: '',//流程进入当前任务
 
       dialogValue: {},
       dialogVisible: false,
       sefStartFlowId: '',
-      addDataCont:{},
+      addDataCont: {},
       defaultFormData: {},
-      scanVisible:false,
-      scanName:'',
-      obj :'',
+      scanVisible: false,
+      scanName: '',
+      obj: '',
 
       initialization: false,
       tableHeight: document.body.clientHeight,
@@ -371,7 +253,7 @@ export default {
         page: 1,
         limit: 20
       },
-      form_name:'',
+      form_name: '',
       indexRow: false,
       displayField: '',
       displayFieldData: [],
@@ -728,6 +610,7 @@ export default {
           formParams[i] = this.composeParam[i]
         }
       }
+
       const responseData = JSON.parse(JSON.stringify(this.template))
       responseData.datasetKey = this.dataTemplate.datasetKey
       responseData.unique = this.pkKey
@@ -754,20 +637,20 @@ export default {
     // 查询数据
     search() {
       this.loadData()
-      this.addDataCont={}
+      this.addDataCont = {}
     },
     /* 流程页面关闭,刷新当前页面*/
-    loadFlowFData(){
+    loadFlowFData() {
       this.npmDialogFormVisible = false
-      this.addDataCont={}
+      this.addDataCont = {}
     },
     /*扫码操作*/
-    scanHandler(val){
+    scanHandler(val) {
       this.scanVisible = true
       this.scanName = val
     },
     /*按钮传参*/
-    scanHandlerObj(val,obj){
+    scanHandlerObj(val, obj) {
       // console.log(666)
       // console.log(val,obj)
       this.scanVisible = true
@@ -775,7 +658,7 @@ export default {
       this.obj = obj
     },
     /* 返回关闭*/
-    scanOff(val){
+    scanOff(val) {
       this.scanVisible = false
       this.scanName = ''
       this.search()
@@ -865,7 +748,7 @@ export default {
                 }).then(() => {
                   this.$message.success("流程任务正在[异步操作]启动中...(期间可做其它操作!)")
                   this.handleStartFlowFromList(ids, button.deflow, this.getFormKey())
-                }).catch(() => {})
+                }).catch(() => { })
               } else {
                 this.dialogVisible = true
                 this.dialogValue = {}
@@ -974,13 +857,13 @@ export default {
       for (var f in fields) {
         fieldsArr.push(fields[f])
       }
-
       response_data.fields = fieldsArr
-
       params.action = buttonType
-
       params['response_data'] = JSON.stringify(response_data)
-
+      let searcFormData = this.$refs['searchForm'].getSearcFormData() || {}
+      for (let key in searcFormData) {
+        params[key] = searcFormData[key]
+      }
       if (this.$utils.isNotEmpty(exportColumns)) {
         const export_columns = {
           export_type: template.export_columns.export_type,
@@ -1099,7 +982,7 @@ export default {
         rowHandle = {
           effect: this.manageEffect ? 'display' : 'default',
           actions: manageButtons,
-          columnHeader: this.template.attrs.manage_effect == 'Y' ||this.template.attrs.manage_effect == 'N' ? null : this.template.attrs.manage_effect
+          columnHeader: this.template.attrs.manage_effect == 'Y' || this.template.attrs.manage_effect == 'N' ? null : this.template.attrs.manage_effect
         }
       }
       // 查询字段
@@ -1153,7 +1036,7 @@ export default {
     /**
    * 判断参数是否是其中之一
    */
-    oneOf: function(obj, validList, key, key1) {
+    oneOf: function (obj, validList, key, key1) {
       for (let i = 0; i < validList.length; i++) {
         if (obj[key] === validList[i][key1]) {
           return true
@@ -1205,7 +1088,7 @@ export default {
       }
     },
     // 自定义格式数据事件
-    hasButtonAction: function(key, button) {
+    hasButtonAction: function (key, button) {
       const buttonActionResult = JTemplate._onLoadActions(this, key, button)
       if (typeof (buttonActionResult) !== 'undefined' && buttonActionResult) {
         return true
@@ -1215,7 +1098,7 @@ export default {
     /**
      * 转换字段
      */
-    convertField: function(column) {
+    convertField: function (column) {
       const field = this.fields[column.name.toLowerCase()] || null
       const same = !((column['same'] && column['same'] === 'N'))
       let fieldType = same ? (field ? (field['field_type'] || 'text') : 'text') : column['field_type'] || 'text'
@@ -1223,7 +1106,7 @@ export default {
       const dataType = field ? field['type'] || 'varchar' : 'varchar'
       // 字段是日期类型
       if ((dataType === 'date' || dataType === 'timestamp' || dataType === 'datetime' || dataType === 'currentTime' || dataType === 'currentDate') &&
-       (fieldType !== 'datePicker' && fieldType !== 'dateRange')) {
+        (fieldType !== 'datePicker' && fieldType !== 'dateRange')) {
         fieldType = 'datePicker'
       }
       if (fieldType === 'datePicker' || fieldType === 'dateRange') {
@@ -1407,22 +1290,22 @@ export default {
         displayColumn.dateFormat = datefmt
         displayColumn.origDateFormat = fieldOptions['datefmt_type'] !== 'custom' ? datefmt : 'yyyy-MM-dd HH:mm:ss'
       } else if (fieldType === 'number' ||
-          fieldType === 'editor' ||
-          fieldType === 'textarea' ||
-          fieldType === 'attachment' ||
-          fieldType === 'dictionary' ||
-          fieldType === 'selector' ||
-          fieldType === 'customDialog' ||
-          fieldType === 'linkdata' ||
-          fieldType === 'address' ||
-          fieldType === 'image') {
+        fieldType === 'editor' ||
+        fieldType === 'textarea' ||
+        fieldType === 'attachment' ||
+        fieldType === 'dictionary' ||
+        fieldType === 'selector' ||
+        fieldType === 'customDialog' ||
+        fieldType === 'linkdata' ||
+        fieldType === 'address' ||
+        fieldType === 'image') {
         displayColumn.slotName = fieldType
         displayColumn.field_options = fieldOptions
       }
       return displayColumn
     },
     // 自定义格式数据事件
-    hasCustomFormatter: function(name) {
+    hasCustomFormatter: function (name) {
       const customFormatterResult = JTemplate._customFormatter(this, name)
       if (typeof (customFormatterResult) !== 'undefined' && customFormatterResult) {
         return true
@@ -1591,9 +1474,9 @@ export default {
 }
 </script>
 <style lang="scss">
- .ibps-data-template-list__preview{
-    .ibps-toolbar .tools{
-      padding-right: 40px !important;
-    }
- }
+.ibps-data-template-list__preview {
+  .ibps-toolbar .tools {
+    padding-right: 40px !important;
+  }
+}
 </style>

+ 9 - 0
src/views/system/jbdScan/js/sampleConfirmationJS.js

@@ -35,6 +35,8 @@ export default {
               response.variables.data[0].jie_yang_shu_lian = 1
               this.listData.push(response.variables.data[0])
               this.OriginalPosition.push(response.variables.data[0].shi_fou_liu_yang_ == "是" ? response.variables.data[0].liu_yang_wei_zhi_ : response.variables.data[0].shou_yang_wei_zhi)
+          }else{
+            this.cancelScan();
           }
         })
       }
@@ -44,6 +46,13 @@ export default {
     handleChange(){
         this.$refs.redarInput.focus(); //聚焦input
     },
+    /* 扫出的样品不符合条件 */
+    cancelScan(){
+      this.redar = false               // 扫码图标显示
+      this.$confirm('该样品可能已经接收过了,无需重复接收!').then(_ => {
+        this.closeDialog();
+      })
+    },
     /* 关闭弹出列表框*/
     closeDialog() {
       this.remRedar()