刘洋 vor 9 Monaten
Ursprung
Commit
cf7c889ed6

+ 27 - 0
src/api/report.js

@@ -266,3 +266,30 @@ export const degreeDrill = (params) =>
     url: '/api/quality/analyse/influence/detail',
     params,
   });
+
+/*****************************1.1.1版本新接口****************************/
+//服务单元分析- 服务单元概况表格数据
+export const getOverviewData = (params) =>
+  request({
+    url: '/api/admin/service/analyse/overview',
+    params,
+  });
+//服务单元分析- 项目整体进度
+export const getProjectProgress = (params) =>
+  request({
+    url: '/api/admin/service/analyse/progress',
+    params,
+  });
+//服务单元分析- 中国地图数据
+export const getChinaMapData = (params) =>
+  request({
+    url: '/api/admin/service/analyse/province',
+    params,
+  });
+
+export const getDetailByProcess = (params) =>
+  request({
+    url: '/api/admin/service/analyse/detail',
+    params,
+  });
+/******************************************************************** */

+ 100 - 115
src/components/common/china-point-chart/index.vue

@@ -13,30 +13,7 @@ const appStore = useAppStore();
 onMounted(() => {
   echarts.registerMap('china', { geoJSON: chinaMap });
 });
-// let data2 = [
-//   { name: '哈尔滨', value: 131426 },
-//   { name: '沈阳', value: 30716 },
-//   { name: '西安', value: 25380 },
-//   { name: '太原', value: 25152 },
-//   { name: '呼和浩特', value: 19896 },
-//   { name: '天津', value: 14843 },
-//   { name: '石家庄', value: 13697 },
-//   { name: '郑州', value: 8494 },
-//   { name: '贵阳', value: 8442 },
-// ];
-// let data1 = [
-//   { name: '银川', value: 8398 },
-//   { name: '西宁', value: 8390 },
-//   { name: '济南', value: 67715 },
-//   { name: '长春', value: 7100 },
-//   { name: '北京', value: 36506 },
-//   { name: '重庆', value: 4672 },
-//   { name: '兰州', value: 4302 },
-//   { name: '乌鲁木齐', value: 4294 },
-//   { name: '上海', value: 3091 },
-//   { name: '昆明', value: 2428 },
-//   { name: '武汉', value: 71800 },
-// ];
+
 const opacityColorList = ['rgba(22, 93, 255, 0.30)', 'rgba(0, 180, 42, 0.50)'];
 const props = defineProps({ data: Object });
 const handleVal = (val) => {
@@ -51,118 +28,123 @@ const convertData = (data) => {
   for (var i = 0; i < data.length; i++) {
     var geoCoord =
       geoCoordMap[
-        data[i].name?.endsWith('省') || data[i].name?.endsWith('市')
-          ? data[i].name.slice(0, -1)
-          : data[i].name
+        data[i].province?.endsWith('省') || data[i].name?.endsWith('市')
+          ? data[i].province.slice(0, -1)
+          : data[i].province
       ];
     if (geoCoord) {
       res.push({
-        name: data[i].name,
-        value: geoCoord.concat(data[i].value),
+        name: data[i].province,
+        value: geoCoord.concat(data[i].sopSum),
       });
     }
   }
   return res;
 };
+// const pinFormatterStr = (name, data) => {
+//   let item = data.find((item) => item.province === name);
+//   return '/' + item.sopNum;
+// };
 const dataHandle = (data) => {
   if (!data) {
     return [];
   } else {
-    let arr = [];
-    for (let i = 0; i < data.length; i++) {
-      let item = data[i];
-      arr.push(
-        {
-          name: item.name,
-          type: 'scatter',
-          coordinateSystem: 'geo',
-          data: convertData(item.data),
-          symbolSize: function (val) {
-            return 5 + handleVal(val[2]);
+    return [
+      {
+        type: 'map',
+        mapType: 'china',
+        geoIndex: 0,
+        aspectScale: 0.75, //长宽比
+        showLegendSymbol: false, // 存在legend时显示
+        label: {
+          normal: {
+            show: true,
           },
-          label: {
-            normal: {
-              formatter: '{b}',
-              position: 'right',
-              show: true,
-            },
-            emphasis: {
-              show: true,
+          emphasis: {
+            show: true,
+            textStyle: {
+              color: '#fff',
             },
           },
-          itemStyle: {
-            normal: {
-              color: colorList[i],
-              borderColor: opacityColorList[i] || colorList[i],
-              borderWidth: 2,
-            },
+        },
+        roam: true,
+        itemStyle: {
+          normal: {
+            areaColor: '#031525',
+            borderColor: '#3B5077',
           },
-        }
-        // {
-        //   name: item.name,
-        //   type: 'effectScatter',
-        //   coordinateSystem: 'geo',
-        //   data: convertData(
-        //     item.data.sort(function (a, b) {
-        //       return b.value - a.value;
-        //     })
-        //   ),
-        //   symbolSize: function (val) {
-        //     return val[2] * 10;
-        //   },
-        //   showEffectOn: 'render',
-        //   rippleEffect: {
-        //     brushType: 'stroke',
-        //   },
-        //   hoverAnimation: true,
-        //   label: {
-        //     normal: {
-        //       formatter: '{b}',
-        //       position: 'right',
-        //       fontSize: 12,
-        //       show: true,
-        //     },
-        //   },
-        //   itemStyle: {
-        //     normal: {
-        //       color: colorList[i],
-        //       shadowBlur: 10,
-        //       shadowColor: '#333',
-        //     },
-        //   },
-        //   zlevel: 1,
-        // }
-      );
-    }
-    return arr;
+          emphasis: {
+            areaColor: '#2B91B7',
+          },
+        },
+        animation: false,
+        data: data.map((item) => {
+          return {
+            name: item.province,
+            value: item,
+          };
+        }),
+      },
+    ];
   }
 };
 const options = computed(() => {
   return {
-    // backgroundColor: 'rgba(0,0,0,.05)',
-    backgroundColor: '#fff',
+    backgroundColor: 'transparent',
+    // backgroundColor: '#fff',
     tooltip: {
       trigger: 'item',
       formatter: function (obj) {
-        let str = obj.seriesName + '<br />';
-        str =
-          str +
-          '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' +
-          obj.color +
-          ';"></span>' +
-          obj.name +
-          ' : ' +
-          obj.value[2];
+        let data = obj.data;
+        let value = data?.value || {};
+        let str =
+          '派单数:' +
+          '<span style="color:#1677ff">' +
+          (value.crmNum || 0) +
+          '</span>' +
+          '<br />' +
+          'sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.sopNum || 0) +
+          '</span>' +
+          '<br />' +
+          '准备阶段sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.prepareSopNum || 0) +
+          '</span>' +
+          '<br />' +
+          '扫描阶段sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.scanSopNum || 0) +
+          '</span>' +
+          '<br />' +
+          '评卷阶段sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.markSopNum || 0) +
+          '</span>' +
+          '<br />' +
+          '收尾阶段sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.finalSopNum || 0) +
+          '</span>' +
+          '<br />' +
+          '已完成sop数:' +
+          '<span style="color:#1677ff">' +
+          (value.finishSopNum || 0) +
+          '</span>' +
+          '<br />';
         return str;
-      },
-    },
-    legend: {
-      orient: 'horizontal',
-      y: 'bottom',
-      x: 'left',
-      data: ['教务处', '研究生'],
-      textStyle: {
-        color: appStore.isFullscreen ? '#e5e5e5' : '#333',
+
+        // let str = obj.seriesName + '<br />';
+        // str =
+        //   str +
+        //   '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' +
+        //   obj.color +
+        //   ';"></span>' +
+        //   obj.name +
+        //   ' : ' +
+        //   obj.value[2];
+        // return str;
       },
     },
     geo: {
@@ -174,15 +156,18 @@ const options = computed(() => {
         },
       },
       top: '28%',
-
       roam: true,
       label: {
         normal: {
           show: true,
           // color: 'rgb(249, 249, 249)', //省份标签字体颜色
           color: '#999', //省份标签字体颜色
-          fontSize: '7',
+          fontSize: '12',
           formatter: (p) => {
+            console.log('ppp', p);
+            let target = props.data.find((item) => item.province === p.name);
+            let str =
+              '\n' + (target?.sopSum || 0) + '/' + (target?.sopNum || 0);
             switch (p.name) {
               case '内蒙古自治区':
                 p.name = '内蒙古';
@@ -206,7 +191,7 @@ const options = computed(() => {
                 p.name = '澳门';
                 break;
             }
-            return p.name;
+            return p.name + str;
           },
         },
         emphasis: {

+ 1 - 1
src/components/global/search-form/index.vue

@@ -22,7 +22,7 @@
             <SearchFormItem :item="item" :params="params" :search="search" />
           </slot>
         </t-form-item>
-        <div class="flex-1"></div>
+        <div class="flex-1" v-if="firstLineItemsIsRight.length"></div>
         <t-form-item
           v-for="item in firstLineItemsIsRight"
           :key="item.prop"

+ 150 - 0
src/views/report/service-analysis/detail-drawer.vue

@@ -0,0 +1,150 @@
+<template>
+  <t-drawer
+    v-model:visible="visible"
+    :header="false"
+    size="80%"
+    :close-btn="true"
+  >
+    <div class="drawer-body">
+      <SearchForm :params="params" :fields="fields" noBorder>
+        <template #crmUserId="{ item, params }">
+          <select-type-user
+            v-model="params[item.prop]"
+            type="ACCOUNT_MANAGER"
+          ></select-type-user>
+        </template>
+        <template #leadId="{ item, params }">
+          <select-type-user
+            v-model="params[item.prop]"
+            type="REGION_MANAGER"
+          ></select-type-user>
+        </template>
+      </SearchForm>
+      <div class="table-wrap flex-1 overflow-auto">
+        <t-table
+          size="small"
+          :columns="columns"
+          :data="tableData"
+          bordered
+          :pagination="{
+            defaultCurrent: 1,
+            defaultPageSize: 10,
+            onChange,
+            showJumper: true,
+            showPageSize: false,
+            total: pagination.total,
+            current: pagination.pageNumber,
+          }"
+          v-loading="tableLoading"
+        ></t-table>
+      </div>
+    </div>
+  </t-drawer>
+</template>
+<script name="DetailDrawer" setup>
+import { useVModel } from '@vueuse/core';
+import { ref, reactive, watch } from 'vue';
+import useFetchTable from '@/hooks/useFetchTable';
+import { getDetailByProcess } from '@/api/report';
+import { PROJECT_PROCESS } from '@/config/constants';
+import { dictToOptionList } from '@/utils/tool';
+
+const emit = defineEmits(['update:modelValue']);
+const props = defineProps({
+  modelValue: { type: Boolean, default: false },
+  process: { type: String, default: '' },
+});
+watch(
+  () => props.process,
+  (val) => {
+    params.process = val;
+  }
+);
+const columns = [
+  { colKey: 'customName', title: '客户名称' },
+  { colKey: 'crmName', title: '项目名称' },
+  { colKey: 'courseName', title: '"科目名称' },
+  { colKey: 'process', title: '当前进度' },
+  { colKey: 'leadName', title: '大区经理' },
+  {
+    colKey: 'regionCoordinator',
+    title: '区域协调人',
+    cell: 'regionCoordinator',
+  },
+  { colKey: 'projectManager', title: '项目经理', cell: 'projectManager' },
+  { colKey: 'engineerList', title: '工程师', cell: 'engineerList' },
+];
+const visible = useVModel(props, 'modelValue', emit);
+const params = reactive({
+  serviceUnitId: '',
+  crmUserId: '',
+  customName: '',
+  process: '',
+  leadId: '',
+});
+const fields = ref([
+  {
+    prop: 'crmUserId',
+    label: '客户经理',
+    labelWidth: 80,
+    colSpan: 4.5,
+    cell: 'crmUserId',
+  },
+  {
+    prop: 'customName',
+    label: '客户名称',
+    labelWidth: 80,
+    colSpan: 4.5,
+  },
+  {
+    prop: 'process',
+    label: '当前进度',
+    labelWidth: 80,
+    colSpan: 4.5,
+    type: 'select',
+    options: dictToOptionList(PROJECT_PROCESS),
+  },
+  {
+    prop: 'leadId',
+    label: '大区经理',
+    labelWidth: 80,
+    colSpan: 4.5,
+    cell: 'leadId',
+  },
+  {
+    type: 'buttons',
+    colSpan: 6,
+    children: [
+      {
+        type: 'button',
+        text: '搜索',
+        onClick: () => {
+          search();
+        },
+      },
+      {
+        type: 'button',
+        text: '导出',
+        onClick: () => {},
+      },
+    ],
+  },
+]);
+
+const { pagination, tableData, fetchData, search, onChange } = useFetchTable(
+  getDetailByProcess,
+  {
+    params: params,
+  }
+);
+</script>
+<style lang="less" scoped>
+.table-search {
+  padding-top: 0 !important;
+}
+.drawer-body {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
+</style>

+ 150 - 17
src/views/report/service-analysis/index.vue

@@ -1,39 +1,110 @@
 <template>
   <div class="service-analysis">
-    <report-header
-      title="服务单元分析"
-      v-model:dateRange="curTimeRange"
-      @timeChange="timeChange"
-    >
-      <t-select
-        style="width: 200px"
-        :options="serviceOptions"
+    <report-header title="服务单元分析" hideTimePicker>
+      <select-service-unit
         v-model="serviceId"
-        :keys="{ label: 'name', value: 'id' }"
-        filterable
-      ></t-select>
+        clearable
+        defaultSelect
+        style="width: 220px"
+      ></select-service-unit>
     </report-header>
     <div class="page-main">
       <div class="scroll-content">
         <div class="col1">
-          <div class="row1"></div>
-          <div class="row2"></div>
+          <div class="row1">
+            <div class="table">
+              <div class="table-title">服务单元概况</div>
+              <div class="tr">
+                <div class="td">累计派单数量</div>
+                <div class="td">{{ overviewData.crmNum }}</div>
+              </div>
+              <div class="tr">
+                <div class="td">SOP数量</div>
+                <div class="td">{{ overviewData.sopNum }}</div>
+              </div>
+              <div class="tr">
+                <div class="td">大区经理人数</div>
+                <div class="td">{{ overviewData.leadNum }}</div>
+              </div>
+              <div class="tr">
+                <div class="td">总投入人数</div>
+                <div class="td">{{ overviewData.totalPerson }}</div>
+              </div>
+              <div class="tr">
+                <div class="td">投入扫描仪数量</div>
+                <div class="td">{{ overviewData.scannerNum }}</div>
+              </div>
+            </div>
+          </div>
+          <div class="row2">
+            <div class="table table2">
+              <div class="table-title">项目整体进度</div>
+              <div class="tr">
+                <div class="td">所处阶段</div>
+                <div class="td">SOP数量</div>
+                <div class="td">占比</div>
+                <div class="td">操作</div>
+              </div>
+              <div class="tr" v-for="item in table2data">
+                <div class="td">{{ PROJECT_PROCESS[item.process] }}</div>
+                <div class="td">{{ item.sopNum }}</div>
+                <div class="td">{{ item.ratio }}</div>
+                <div class="td">
+                  <t-link theme="primary">详情</t-link>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="col2">
+          <ChinaPointChart :data="mapData"></ChinaPointChart>
         </div>
-        <div class="col2"></div>
       </div>
     </div>
+
+    <DetailDrawer v-model="showDetailDrawer" />
   </div>
 </template>
 
 <script setup name="ServiceAnalysis">
 import { ref, computed, watch } from 'vue';
-
+import ChinaPointChart from '@/components/common/china-point-chart/index.vue';
 import { useRequest } from 'vue-request';
-import {} from '@/api/report';
+import {
+  getOverviewData,
+  getProjectProgress,
+  getChinaMapData,
+} from '@/api/report';
 import { FullscreenIcon } from 'tdesign-icons-vue-next';
 import { cloneDeep } from 'lodash-es';
+import { PROJECT_PROCESS } from '@/config/constants';
+import DetailDrawer from './detail-drawer.vue';
+const showDetailDrawer = ref(true);
+const serviceId = ref('');
+const overviewData = ref({});
+const table2data = ref([]);
+const mapData = ref([]);
 
-watch(serviceId, (serviceUnitId) => {});
+const _getOverviewData = (serviceUnitId) => {
+  getOverviewData({ serviceUnitId }).then((res) => {
+    overviewData.value = res || {};
+  });
+};
+const _getProjectProgress = (serviceUnitId) => {
+  getProjectProgress({ serviceUnitId }).then((res) => {
+    table2data.value = res || [];
+  });
+};
+const _getChinaMapData = (serviceUnitId) => {
+  getChinaMapData({ serviceUnitId }).then((res) => {
+    mapData.value = res || [];
+  });
+};
+watch(serviceId, (serviceUnitId) => {
+  _getOverviewData(serviceUnitId);
+  _getProjectProgress(serviceUnitId);
+  _getChinaMapData(serviceUnitId);
+});
 </script>
 
 <style lang="less" scoped>
@@ -47,6 +118,68 @@ watch(serviceId, (serviceUnitId) => {});
       min-height: 600px;
       min-width: 1000px;
       display: flex;
+      .col2 {
+        width: calc(100% - 400px);
+        height: 100%;
+      }
+      .col1 {
+        width: 400px;
+        background-color: #fff;
+        border-radius: 6px;
+        height: 100%;
+        overflow: auto;
+        .row1 {
+          height: 44%;
+          min-height: 300px;
+          overflow: auto;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+        }
+        .row2 {
+          height: 56%;
+          min-height: 350px;
+          overflow: auto;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+        }
+        .table {
+          width: 300px;
+          border-top: 1px solid #ddd;
+          border-left: 1px solid #ddd;
+          &.table2 {
+            width: 370px;
+            .tr {
+              .td {
+                width: 25%;
+              }
+            }
+          }
+          .table-title {
+            border-bottom: 1px solid #ddd;
+            border-right: 1px solid #ddd;
+            height: 40px;
+            line-height: 39px;
+            text-align: center;
+            font-weight: bold;
+            font-size: 18px;
+          }
+          .tr {
+            height: 36px;
+            .td {
+              height: 100%;
+              border-bottom: 1px solid #ddd;
+              border-right: 1px solid #ddd;
+              width: 50%;
+              float: left;
+              display: flex;
+              justify-content: center;
+              align-items: center;
+            }
+          }
+        }
+      }
     }
   }
 }

+ 4 - 4
src/views/sop/sop-manage/office-sop/index.vue

@@ -74,13 +74,13 @@
       </template>
       <template #buttons>
         <t-button theme="primary" @click="search">搜索</t-button>
-        <t-button
+        <!-- <t-button
           theme="primary"
           @click="fastViewAllData"
           style="margin-left: 10px"
           :loading="screenImgsLoading"
           >便捷查阅</t-button
-        >
+        > -->
       </template>
     </SearchForm>
 
@@ -216,7 +216,7 @@
       :type="curSopType"
       @confirm="fetchData"
     ></sop-step-dialog>
-    <template v-if="perm.LINK_Edit || perm.LINK_AddSop || perm.LINK_Fill">
+    <!-- <template v-if="perm.LINK_Edit || perm.LINK_AddSop || perm.LINK_Fill">
       <sop-step-dialog
         v-model:visible="showSopStepDialog2getImg"
         v-for="(item, index) in tableData"
@@ -225,7 +225,7 @@
         :screenshot="screenshot"
         @getScreenImgs="(...args) => insertScreenImgs(...args, index)"
       ></sop-step-dialog>
-    </template>
+    </template> -->
 
     <!-- QualityIssueDialog -->
     <quality-issue-dialog

+ 4 - 6
src/views/sop/sop-manage/student-sop/index.vue

@@ -74,13 +74,13 @@
       </template>
       <template #buttons>
         <t-button theme="primary" @click="search">搜索</t-button>
-        <t-button
+        <!-- <t-button
           theme="primary"
           @click="fastViewAllData"
           style="margin-left: 10px"
           :loading="screenImgsLoading"
           >便捷查阅</t-button
-        >
+        > -->
       </template>
     </SearchForm>
 
@@ -206,13 +206,12 @@
 
     <!-- SopStepDialog -->
     <sop-step-dialog
-      v-if="perm.LINK_Edit || perm.LINK_AddSop || perm.LINK_Fill"
       v-model:visible="showSopStepDialog"
       :sop="curSopData"
       :type="curSopType"
       @confirm="fetchData"
     ></sop-step-dialog>
-    <template v-if="perm.LINK_Edit || perm.LINK_AddSop || perm.LINK_Fill">
+    <!-- <template>
       <sop-step-dialog
         v-model:visible="showSopStepDialog2getImg"
         v-for="(item, index) in tableData"
@@ -221,7 +220,7 @@
         :screenshot="screenshot"
         @getScreenImgs="(...args) => insertScreenImgs(...args, index)"
       ></sop-step-dialog>
-    </template>
+    </template> -->
     <!-- QualityIssueDialog -->
     <quality-issue-dialog
       v-if="perm.LINK_ProblemSubmit"
@@ -785,7 +784,6 @@ const showSopStepDialog = ref(false);
 const curSopType = ref('');
 const editSopFlowHandle = (row, type = 'fill') => {
   curSopType.value = type;
-
   if (type === 'new') {
     curSopData.value = {
       ...row,

+ 0 - 673
src/views/sop/sop-manage/test.js

@@ -1,673 +0,0 @@
-/**
- * 【code取值包含以下】:
- * FORM_GROUP_TITLE  带虚线分割线的标题
- * TEXT  文本输入框
- * DATE 日期选择器
- * SELECT 下拉框,可能需要提供对应的api获取下拉列表
- * ONLY_TITLE  普通标题,独占一行
- * CHECKBOX 复选框组
- * TEXTAREA  多行文本输入域
- * TABLE 可编辑表格
- * RADIO 单选框
- * RADIO_WITH_INPUT  带1个输入框的单选框,比如选“其他”选项时,需要输入一定的文案
- * SIGN 手写签名
- * DEVICE_OUT_TABLE 设备出库的表格组件,内部较为复杂,于是单独封装前端业务组件,不细化成table配置数据
- * UPLOAD_IMAGE  上传图片组件,同时需要limit标记所需上传的数量值
- */
-export default {
-  flowId: '416278876461727744',
-  status: 'AUDITING', //流程状态
-  statusStr: '审核中',
-  sopNo: '416278876860186625', //sop单号
-  taskIdList: '[416279837896867847, 416279837905256450]', //待审批流程任务
-  currFlowTaskResult: {
-    taskName: '设备入库登记',
-    taskKey: 'XXX',
-    setup: 10,
-    formKey: 'XXX',
-    formProperty: [
-      {
-        code: 'RADIO',
-        title: '设备出入库',
-        options: [
-          { value: '1', label: '出库' },
-          { value: '2', label: '入库' },
-        ],
-        disabled: true,
-      },
-      {
-        code: 'DATE',
-        title: '设备出入库时间',
-      },
-      {
-        code: 'DEVICE_IN_TABLE',
-        title: '设备入库登记',
-        api: '/api/******', //获取表格整体数据的api
-      },
-    ],
-  },
-  flowTaskHistoryList: [
-    {
-      taskName: '项目初审',
-      taskKey: 'XXX',
-      setup: 1,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目基本信息',
-        },
-        {
-          code: 'TEXT',
-          title: '科目数量',
-        },
-        {
-          code: 'TEXT',
-          title: '考试科次',
-        },
-        {
-          code: 'DATE',
-          title: '考生数据内部交接时间',
-        },
-        {
-          code: 'DATE',
-          title: '考试时间安排表获取时间',
-        },
-        {
-          code: 'TEXT',
-          title: '扫描仪数量(台)',
-        },
-        {
-          code: 'TEXT',
-          title: '现场标准服务周期(人天)',
-        },
-        {
-          code: 'DATE',
-          title: '项目关键信息提交截止时间',
-        },
-        {
-          code: 'DATE',
-          title: '现场服务完成撤场计划时间',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目人员安排及风险评估',
-        },
-        {
-          code: 'SELECT',
-          title: '区域协调人',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'SELECT',
-          title: '实施工程师',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'SELECT',
-          title: '助理实施工程师',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'ONLY_TITLE',
-          title: '项目风险评估(仅供参考)',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '延期风险',
-          options: [
-            { value: '1', label: '低' },
-            { value: '2', label: '中' },
-            { value: '3', label: '高' },
-          ],
-        },
-        {
-          code: 'CHECKBOX',
-          title: '实施难度',
-          options: [
-            { value: '1', label: '低' },
-            { value: '2', label: '中' },
-            { value: '3', label: '高' },
-          ],
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其它备注(建议关注的其它方面)',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目联系人',
-        },
-        {
-          code: 'TABLE',
-          title: '',
-          tablePropList: [
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 1,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '学院/分(子)机构',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: '19',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 2,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '姓名',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 3,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '职务',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 4,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '手机',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '项目关键信息',
-      taskKey: 'XXX',
-      setup: 2,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '云阅卷(填写前请先认真查阅移交的项目初审及项目基本信息)',
-        },
-        {
-          code: 'RADIO',
-          title: '部署方式',
-          options: [
-            { value: '1', label: '线上部署' },
-            { value: '2', label: '本地部署' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '阅卷方式',
-          options: [
-            { value: '1', label: '集中阅卷' },
-            { value: '2', label: '分散阅卷' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '扫描场地网络情况',
-          options: [
-            { value: '1', label: '提供外网' },
-            { value: '2', label: '不提供外网' },
-          ],
-        },
-        {
-          code: 'DATE',
-          title: '扫描开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描结束时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其他特殊要求',
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传项目关键信息表(纸质)拍照',
-          limit: 5,
-        },
-      ],
-    },
-    {
-      taskName: '项目内审',
-      taskKey: 'XXX',
-      setup: 3,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目基本信息',
-        },
-        {
-          code: 'TEXT',
-          title: '科目数量',
-        },
-        {
-          code: 'TEXT',
-          title: '考试科次',
-        },
-        {
-          code: 'DATE',
-          title: '考生数据内部交接时间',
-        },
-        {
-          code: 'DATE',
-          title: '考试时间安排表获取时间',
-        },
-        {
-          code: 'TEXT',
-          title: '扫描仪数量(台)',
-        },
-        {
-          code: 'TEXT',
-          title: '现场标准服务周期(人天)',
-        },
-        {
-          code: 'DATE',
-          title: '项目关键信息提交截止时间',
-        },
-        {
-          code: 'DATE',
-          title: '现场服务完成撤场计划时间',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '云阅卷(填写前请先认真查阅移交的项目初审及项目基本信息)',
-        },
-        {
-          code: 'RADIO',
-          title: '部署方式',
-          options: [
-            { value: '1', label: '线上部署' },
-            { value: '2', label: '本地部署' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '阅卷方式',
-          options: [
-            { value: '1', label: '集中阅卷' },
-            { value: '2', label: '分散阅卷' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '扫描场地网络情况',
-          options: [
-            { value: '1', label: '提供外网' },
-            { value: '2', label: '不提供外网' },
-          ],
-        },
-        {
-          code: 'DATE',
-          title: '扫描开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描结束时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其他特殊要求',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目内审(请于24小时内完成内审)',
-        },
-        {
-          code: 'RADIO',
-          title: '我对以上项目关键信息已审核,确认内容无误',
-          options: [
-            { value: '1', label: '同意' },
-            { value: '2', label: '不同意' },
-          ],
-        },
-        {
-          code: 'SIGN',
-          title: '手写签名',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '审批意见',
-        },
-      ],
-    },
-    {
-      taskName: '设备出库登记',
-      taskKey: 'XXX',
-      setup: 4,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'RADIO',
-          title: '设备出入库',
-          options: [
-            { value: '1', label: '出库' },
-            { value: '2', label: '入库' },
-          ],
-          disabled: true,
-        },
-        {
-          code: 'DATE',
-          title: '设备出入库时间',
-          api: '/api/******', //获取设备列表的api
-        },
-        {
-          code: 'DEVICE_OUT_TABLE',
-          title: '设备出库登记',
-        },
-      ],
-    },
-    {
-      taskName: '扫描准备',
-      taskKey: 'XXX',
-      setup: 5,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '导入数据',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [{ value: '1', label: '导入数据与原始数据是否一致' }],
-        },
-        {
-          code: 'TEXT',
-          title: '导入考生数量',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '扫描仪设置',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '扫描仪设置',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label:
-                '1、扫描仪分辨率设置是否150、扫描模式是否双面、图像类型是否灰度',
-            },
-            { value: '2', label: '2、选择“扫描模式”-“设置”-“装订边缘”-“上”' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '卡格式制作',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、定位点、校验点是否制作',
-            },
-            { value: '2', label: '2、缺考区域是否框选' },
-            {
-              value: '3',
-              label: '3、客观题区域是否正确框选、行列以及单选多选是否正确',
-            },
-            { value: '4', label: '4、条码识别区是否制作' },
-            { value: '5', label: '5、屏蔽区是否制作' },
-            { value: '6', label: '6、卷型:若有,则框选' },
-            { value: '7', label: '7、页码:若答题卡超过1张,则框选' },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '正式扫描',
-      taskKey: 'XXX',
-      setup: 6,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '试扫检查',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、查看条码是否识别正确',
-            },
-            { value: '2', label: '2、缺考、客观题是否识别正确' },
-            { value: '3', label: '3、扫描原图正反面是否正确显示' },
-            { value: '4', label: '4、裁切图屏蔽区是否正确' },
-            { value: '5', label: '5、卷型:若有,是否识别正确' },
-            { value: '6', label: '6、页码:若答题卡超过1张,是否页码识别正确' },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '校验收尾',
-      taskKey: 'XXX',
-      setup: 7,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '未上传考生核对',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label:
-                '1、未上传考生是否与签到表进行核对,是否为缺考、违纪、免考等情况',
-            },
-            { value: '2', label: '2、是否将未上传考生发给学校确认' },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '完成数量',
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传学校未上传考生沟通确认截图',
-          limit: 1,
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '识别对照',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            { value: '1', label: '是否将客观题识别异常的全部人工修改处理' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '缺考名单对比',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label:
-                '核对未上传条数是否与学校提供的缺考名单吻合,人工指定为缺考(考生管理>导入名单>导入缺考名单)',
-            },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '缺考科次数量',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '手工输入条码确认',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label: '“数据检查" -"人工确认“,确认完成',
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '评卷准备',
-      taskKey: 'XXX',
-      setup: 8,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '评卷模式确认',
-        },
-        {
-          code: 'RADIO',
-          label: '评卷模式',
-          options: [
-            { value: '1', label: '轨迹模式' },
-            { value: '2', label: '普通模式' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '评卷参数核对',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、核查每个科目的满分是否正确(大部分科目都是100分)',
-            },
-            {
-              value: '2',
-              label:
-                '2、核对客观题标答以及分数是否录入正确、多选题判分规则(漏选是否得分、任选得分)',
-            },
-            {
-              value: '3',
-              label:
-                '3、检查所有科目结构和分组是否全部导入。(评卷管理>评卷进度查看分组状态)',
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '评卷收尾',
-      taskKey: 'XXX',
-      setup: 9,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '成绩提交核查',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、是否已核对不缺考、客观题为0分的情况。',
-            },
-            {
-              value: '2',
-              label: '2、是否已核对主观题为0、客观题有分的情况。',
-            },
-            {
-              value: '3',
-              label: '3、是否检查客观题小题得分率低于20%的情况。',
-            },
-            {
-              value: '4',
-              label:
-                '4、核对导出成绩表数据条数是否与考生表数量一致,不能带有“未导出全量数据”字样;请填写导出成绩数量以及完成时间',
-            },
-            {
-              value: '5',
-              label: '5、核对导出图片工具是否正常运行',
-            },
-          ],
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传验收报告(纸质)拍照',
-          limit: 5,
-        },
-      ],
-    },
-  ],
-};

+ 0 - 733
src/views/sop/sop-manage/test2.js

@@ -1,733 +0,0 @@
-/**
- * 【code取值包含以下】:
- * FORM_GROUP_TITLE  带虚线分割线的标题
- * TEXT  文本输入框
- * DATE 日期选择器
- * SELECT 下拉框,可能需要提供对应的api获取下拉列表
- * ONLY_TITLE  普通标题,独占一行
- * CHECKBOX 复选框组
- * TEXTAREA  多行文本输入域
- * TABLE 可编辑表格
- * RADIO 单选框
- * RADIO_WITH_INPUT  带1个输入框的单选框,比如选“其他”选项时,需要输入一定的文案
- * SIGN 手写签名
- * DEVICE_OUT_TABLE 设备出库的表格组件,内部较为复杂,于是单独封装前端业务组件,不细化成table配置数据
- * UPLOAD_IMAGE  上传图片组件,同时需要limit标记所需上传的数量值
- */
-export default {
-  flowId: '416278876461727744',
-  status: 'AUDITING', //流程状态
-  statusStr: '审核中',
-  sopNo: '416278876860186625', //sop单号
-  taskIdList: '[416279837896867847, 416279837905256450]', //待审批流程任务
-  currFlowTaskResult: {
-    taskName: '设备入库登记',
-    taskKey: 'XXX',
-    setup: 10,
-    formKey: 'XXX',
-    formProperty: [
-      {
-        code: 'RADIO',
-        title: '设备出入库',
-        options: [
-          { value: '1', label: '出库' },
-          { value: '2', label: '入库' },
-        ],
-        disabled: true,
-      },
-      {
-        code: 'DATE',
-        title: '设备出入库时间',
-      },
-      {
-        code: 'DEVICE_IN_TABLE',
-        title: '设备入库登记',
-        api: '/api/******', //获取表格整体数据的api
-      },
-    ],
-  },
-  flowTaskHistoryList: [
-    {
-      taskName: '项目初审',
-      taskKey: 'XXX',
-      setup: 1,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目基本信息',
-        },
-        {
-          code: 'TEXT',
-          title: '科目数量',
-        },
-        {
-          code: 'TEXT',
-          title: '考生科次',
-        },
-        {
-          code: 'RADIO',
-          title: '条码标准张数',
-          options: [
-            { value: '1', label: '3张' },
-            { value: '2', label: '4张' },
-          ],
-        },
-        {
-          code: 'RADIO_WITH_INPUT',
-          title: '条码粘贴方式',
-          span: 12,
-          options: [
-            { value: '1', label: '考生自贴/数码印刷' },
-            { value: '2', label: '回卷后粘贴' },
-            { value: '3', label: '其他' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '有无客观题卡',
-          options: [
-            { value: '1', label: '有' },
-            { value: '2', label: '无' },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '扫描仪数量(台)',
-        },
-        {
-          code: 'DATE',
-          title: '考生数据交接时间',
-        },
-        {
-          code: 'TEXT',
-          title: '现场标准服务周期(人天)',
-        },
-        {
-          code: 'DATE',
-          title: '项目关键信息提交截止时间',
-        },
-        {
-          code: 'DATE',
-          title: '现场服务完成撤场计划时间',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目人员安排及风险评估',
-        },
-        {
-          code: 'SELECT',
-          title: '区域协调人',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'SELECT',
-          title: '实施工程师',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'SELECT',
-          title: '助理实施工程师',
-          api: '/api/******',
-          span: 4,
-        },
-        {
-          code: 'ONLY_TITLE',
-          title: '项目风险评估(仅供参考)',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '延期风险',
-          options: [
-            { value: '1', label: '低' },
-            { value: '2', label: '中' },
-            { value: '3', label: '高' },
-          ],
-        },
-        {
-          code: 'CHECKBOX',
-          title: '实施难度',
-          options: [
-            { value: '1', label: '低' },
-            { value: '2', label: '中' },
-            { value: '3', label: '高' },
-          ],
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其它备注(建议关注的其它方面)',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目联系人',
-        },
-        {
-          code: 'TABLE',
-          title: '',
-          tablePropList: [
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 1,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '学院/分(子)机构',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: '19',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 2,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '姓名',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 3,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '职务',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-            {
-              id: 'XXX',
-              widgetId: 'XXX',
-              tdIndex: 4,
-              tdId: 'XXX',
-              tdName: 'XXX',
-              title: '手机',
-              tdOrder: true,
-              tdSearch: true,
-              editWidgetId: 'XXX',
-              tdFormWidget: {
-                code: 'TEXT',
-                name: '文本',
-              },
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '项目关键信息',
-      taskKey: 'XXX',
-      setup: 2,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '云阅卷(填写前请先认真查阅移交的项目初审及项目基本信息)',
-        },
-        {
-          code: 'RADIO',
-          title: '运行环境调研是否符合要求',
-          options: [
-            { value: '1', label: '符合' },
-            { value: '2', label: '不符合' },
-          ],
-        },
-        {
-          code: 'DATE',
-          title: '环境部署时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描结束时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷机房检查时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷机房数量(个)',
-        },
-        {
-          code: 'TEXT',
-          title: '最大评卷教师数量',
-        },
-        {
-          code: 'DATE',
-          title: '评卷参数提供时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷结束时间',
-        },
-        {
-          code: 'TEXT',
-          title: '有选做题的科目数量(门)',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其他特殊要求',
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传项目关键信息表(纸质)拍照',
-          limit: 3,
-        },
-      ],
-    },
-    {
-      taskName: '项目内审',
-      taskKey: 'XXX',
-      setup: 3,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目基本信息',
-        },
-        {
-          code: 'TEXT',
-          title: '科目数量',
-        },
-        {
-          code: 'TEXT',
-          title: '考生科次',
-        },
-        {
-          code: 'RADIO',
-          title: '条码标准张数',
-          options: [
-            { value: '1', label: '3张' },
-            { value: '2', label: '4张' },
-          ],
-        },
-        {
-          code: 'RADIO_WITH_INPUT',
-          title: '条码粘贴方式',
-          span: 12,
-          options: [
-            { value: '1', label: '考生自贴/数码印刷' },
-            { value: '2', label: '回卷后粘贴' },
-            { value: '3', label: '其他' },
-          ],
-        },
-        {
-          code: 'RADIO',
-          title: '有无客观题卡',
-          options: [
-            { value: '1', label: '有' },
-            { value: '2', label: '无' },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '扫描仪数量(台)',
-        },
-        {
-          code: 'DATE',
-          title: '考生数据交接时间',
-        },
-        {
-          code: 'TEXT',
-          title: '现场标准服务周期(人天)',
-        },
-        {
-          code: 'DATE',
-          title: '项目关键信息提交截止时间',
-        },
-        {
-          code: 'DATE',
-          title: '现场服务完成撤场计划时间',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '云阅卷',
-        },
-        {
-          code: 'RADIO',
-          title: '运行环境调研是否符合要求',
-          options: [
-            { value: '1', label: '符合' },
-            { value: '2', label: '不符合' },
-          ],
-        },
-        {
-          code: 'DATE',
-          title: '环境部署时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '扫描结束时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷机房检查时间',
-        },
-        {
-          code: 'TEXT',
-          title: '评卷机房数量',
-        },
-        {
-          code: 'TEXT',
-          title: '最大评卷教师数量',
-        },
-        {
-          code: 'DATE',
-          title: '评卷参数提供时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷开始时间',
-        },
-        {
-          code: 'DATE',
-          title: '评卷结束时间',
-        },
-        {
-          code: 'TEXT',
-          title: '有选做题的科目数量',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '其它特殊要求',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '项目内审(请于24小时内完成内审)',
-        },
-        {
-          code: 'RADIO',
-          title: '我对以上项目关键信息已审核,确认内容无误',
-          options: [
-            { value: '1', label: '同意' },
-            { value: '2', label: '不同意' },
-          ],
-        },
-        {
-          code: 'SIGN',
-          title: '手写签名',
-        },
-        {
-          code: 'TEXTAREA',
-          title: '审批意见',
-        },
-      ],
-    },
-    {
-      taskName: '设备出库登记',
-      taskKey: 'XXX',
-      setup: 4,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'RADIO',
-          title: '设备出入库',
-          options: [
-            { value: '1', label: '出库' },
-            { value: '2', label: '入库' },
-          ],
-          disabled: true,
-        },
-        {
-          code: 'DATE',
-          title: '设备出入库时间',
-          api: '/api/******', //获取设备列表的api
-        },
-        {
-          code: 'DEVICE_OUT_TABLE',
-          title: '设备出库登记',
-        },
-      ],
-    },
-    {
-      taskName: '扫描准备',
-      taskKey: 'XXX',
-      setup: 5,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '导入数据',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [{ value: '1', label: '导入数据与原始数据是否一致' }],
-        },
-        {
-          code: 'TEXT',
-          title: '导入考生数量',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '扫描仪设置',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '扫描仪设置',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label:
-                '1、扫描仪分辨率设置是否150、扫描模式是否双面、图像类型是否灰度',
-            },
-            { value: '2', label: '2、选择“扫描模式”-“设置”-“装订边缘”-“上”' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '卡格式制作',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、定位点、校验点是否制作',
-            },
-            { value: '2', label: '2、缺考区域是否框选' },
-            {
-              value: '3',
-              label: '3、客观题区域是否正确框选、行列以及单选多选是否正确',
-            },
-            { value: '4', label: '4、条码识别区是否制作' },
-            { value: '5', label: '5、屏蔽区是否制作' },
-            { value: '6', label: '6、卷型:若有,则框选' },
-            { value: '7', label: '7、页码:若答题卡超过1张,则框选' },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '正式扫描',
-      taskKey: 'XXX',
-      setup: 6,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '试扫检查',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、查看条码是否识别正确',
-            },
-            { value: '2', label: '2、缺考、客观题是否识别正确' },
-            { value: '3', label: '3、扫描原图正反面是否正确显示' },
-            { value: '4', label: '4、裁切图屏蔽区是否正确' },
-            { value: '5', label: '5、卷型:若有,是否识别正确' },
-            { value: '6', label: '6、页码:若答题卡超过1张,是否页码识别正确' },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '校验收尾',
-      taskKey: 'XXX',
-      setup: 7,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '未上传考生核对',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label:
-                '1、未上传考生是否与签到表进行核对,是否为缺考、违纪、免考等情况',
-            },
-            { value: '2', label: '2、是否将未上传考生发给学校确认' },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '完成数量',
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传学校未上传考生沟通确认截图',
-          limit: 1,
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '识别对照',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            { value: '1', label: '是否将客观题识别异常的全部人工修改处理' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '缺考名单对比',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label:
-                '核对未上传条数是否与学校提供的缺考名单吻合,人工指定为缺考(考生管理>导入名单>导入缺考名单)',
-            },
-          ],
-        },
-        {
-          code: 'TEXT',
-          title: '缺考科次数量',
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '手工输入条码确认',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          options: [
-            {
-              value: '1',
-              label: '“数据检查" -"人工确认“,确认完成',
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '评卷准备',
-      taskKey: 'XXX',
-      setup: 8,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '评卷模式确认',
-        },
-        {
-          code: 'RADIO',
-          label: '评卷模式',
-          options: [
-            { value: '1', label: '轨迹模式' },
-            { value: '2', label: '普通模式' },
-          ],
-        },
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '评卷参数核对',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、核查每个科目的满分是否正确(大部分科目都是100分)',
-            },
-            {
-              value: '2',
-              label:
-                '2、核对客观题标答以及分数是否录入正确、多选题判分规则(漏选是否得分、任选得分)',
-            },
-            {
-              value: '3',
-              label:
-                '3、检查所有科目结构和分组是否全部导入。(评卷管理>评卷进度查看分组状态)',
-            },
-          ],
-        },
-      ],
-    },
-    {
-      taskName: '评卷收尾',
-      taskKey: 'XXX',
-      setup: 9,
-      formKey: 'XXX',
-      formProperty: [
-        {
-          code: 'FORM_GROUP_TITLE',
-          title: '成绩提交核查',
-        },
-        {
-          code: 'CHECKBOX',
-          title: '',
-          span: 12,
-          options: [
-            {
-              value: '1',
-              label: '1、是否已核对不缺考、客观题为0分的情况。',
-            },
-            {
-              value: '2',
-              label: '2、是否已核对主观题为0、客观题有分的情况。',
-            },
-            {
-              value: '3',
-              label: '3、是否检查客观题小题得分率低于20%的情况。',
-            },
-            {
-              value: '4',
-              label:
-                '4、核对导出成绩表数据条数是否与考生表数量一致,不能带有“未导出全量数据”字样;请填写导出成绩数量以及完成时间',
-            },
-            {
-              value: '5',
-              label: '5、核对导出图片工具是否正常运行',
-            },
-          ],
-        },
-        {
-          code: 'UPLOAD_IMAGE',
-          title: '上传验收报告(纸质)拍照',
-          limit: 5,
-        },
-      ],
-    },
-  ],
-};

+ 0 - 1184
src/views/sop/sop-manage/test_all.js

@@ -1,1184 +0,0 @@
-export default  {
-    "id": "429304793329041408",
-    "flowDeploymentId": "429304793068994560",
-    "flowName": "officeSopFlow.bpmn",
-    "setupMap": {
-        "f_usertask_office_end_0": {
-            "taskName": "结束",
-            "taskKey": "f_usertask_office_end_0",
-            "setup": 0,
-            "formKey": null,
-            "formProperty": null,
-            "approveRejectList": null
-        },
-        "f_usertask_office_first_1": {
-            "taskName": "项目初审",
-            "taskKey": "f_usertask_office_first_1",
-            "setup": 1,
-            "formKey": "office_sop_first.form",
-            "formProperty": [
-                {
-                    "id": "18",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_basic_info_title",
-                    "formName": "f_usertask_office_first_1|project_basic_info_title",
-                    "title": "项目基本信息",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "19",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|course_count",
-                    "formName": "f_usertask_office_first_1|course_count",
-                    "title": "科目数量",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "20",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|exam_student_course_count",
-                    "formName": "f_usertask_office_first_1|exam_student_course_count",
-                    "title": "考生科次",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "21",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|exam_student_Internal_date",
-                    "formName": "f_usertask_office_first_1|exam_student_Internal_date",
-                    "title": "考生数据内部交接时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "22",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|exam_plan_date",
-                    "formName": "f_usertask_office_first_1|exam_plan_date",
-                    "title": "考试时间安排表获取时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "23",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|scan_count",
-                    "formName": "f_usertask_office_first_1|scan_count",
-                    "title": "扫描仪数量(台)",
-                    "inputType": "INT",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "24",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|week_people_day",
-                    "formName": "f_usertask_office_first_1|week_people_day",
-                    "title": "现场标准服务周期(人天)",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "25",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_key_info_date",
-                    "formName": "f_usertask_office_first_1|project_key_info_date",
-                    "title": "项目关键信息提交截止时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "26",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|service_finish_plan_date",
-                    "formName": "f_usertask_office_first_1|service_finish_plan_date",
-                    "title": "现场服务完成撤场计划时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "27",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_people_plan_title",
-                    "formName": "f_usertask_office_first_1|project_people_plan_title",
-                    "title": "项目人员安排及风险预估",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "28",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|region_user_id",
-                    "formName": "f_usertask_office_first_1|region_user_id",
-                    "title": "区域协调人",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 4
-                },
-                {
-                    "id": "29",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|engineer_user_id",
-                    "formName": "f_usertask_office_first_1|engineer_user_id",
-                    "title": "实施工程师",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 4
-                },
-                {
-                    "id": "30",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|assistant_engineer_user_id",
-                    "formName": "f_usertask_office_first_1|assistant_engineer_user_id",
-                    "title": "助理实施工程师",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 4
-                },
-                {
-                    "id": "31",
-                    "code": "ONLE_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_rish_title",
-                    "formName": "f_usertask_office_first_1|project_rish_title",
-                    "title": "项目风险预估(仅供参考)",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "普通标题,独占一行",
-                    "span": 12
-                },
-                {
-                    "id": "32",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|delay_rish_cb",
-                    "formName": "f_usertask_office_first_1|delay_rish_cb",
-                    "title": "延期风险",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 6,
-                    "options": "[{\"value\":\"LOW\",\"label\":\"低\"},{\"value\":\"MIDDLE\",\"label\":\"中\"},{\"value\":\"HIGH\",\"label\":\"高\"}]"
-                },
-                {
-                    "id": "33",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|engineer_rish_cb",
-                    "formName": "f_usertask_office_first_1|engineer_rish_cb",
-                    "title": "实施难度",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 6,
-                    "options": "[{\"value\":\"LOW\",\"label\":\"低\"},{\"value\":\"MIDDLE\",\"label\":\"中\"},{\"value\":\"HIGH\",\"label\":\"高\"}]"
-                },
-                {
-                    "id": "34",
-                    "code": "TEXTAREA",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|other_ramark",
-                    "formName": "f_usertask_office_first_1|other_ramark",
-                    "title": "其它备注(建议关注的其它方面)",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本域",
-                    "span": 12
-                },
-                {
-                    "id": "35",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_contacts_title",
-                    "formName": "f_usertask_office_first_1|project_contacts_title",
-                    "title": "项目联系人",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "36",
-                    "code": "TABLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_first_1|project_contacts_table",
-                    "formName": "f_usertask_office_first_1|project_contacts_table",
-                    "title": "项目联系人表格",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "表格",
-                    "span": 12,
-                    "tablePropList": [
-                        {
-                            "id": "1",
-                            "widgetId": "36",
-                            "tdIndex": 1,
-                            "tdId": "f_usertask_office_first_1|36|college",
-                            "tdName": "f_usertask_office_first_1|36|college",
-                            "title": "学院/分(子)机构",
-                            "tdOrder": true,
-                            "tdSearch": true,
-                            "editWidgetId": "37",
-                            "tdFormWidget": {
-                                "code": "TEXT",
-                                "name": "文本"
-                            }
-                        },
-                        {
-                            "id": "2",
-                            "widgetId": "36",
-                            "tdIndex": 2,
-                            "tdId": "f_usertask_office_first_1|36|name",
-                            "tdName": "f_usertask_office_first_1|36|name",
-                            "title": "姓名",
-                            "tdOrder": true,
-                            "tdSearch": true,
-                            "editWidgetId": "38",
-                            "tdFormWidget": {
-                                "code": "TEXT",
-                                "name": "文本"
-                            }
-                        },
-                        {
-                            "id": "3",
-                            "widgetId": "36",
-                            "tdIndex": 3,
-                            "tdId": "f_usertask_office_first_1|36|job",
-                            "tdName": "f_usertask_office_first_1|36|job",
-                            "title": "职务",
-                            "tdOrder": true,
-                            "tdSearch": true,
-                            "editWidgetId": "39",
-                            "tdFormWidget": {
-                                "code": "TEXT",
-                                "name": "文本"
-                            }
-                        },
-                        {
-                            "id": "4",
-                            "widgetId": "36",
-                            "tdIndex": 4,
-                            "tdId": "f_usertask_office_first_1|36|mobileNumber",
-                            "tdName": "f_usertask_office_first_1|36|mobileNumber",
-                            "title": "电话",
-                            "tdOrder": true,
-                            "tdSearch": true,
-                            "editWidgetId": "40",
-                            "tdFormWidget": {
-                                "code": "TEXT",
-                                "name": "文本"
-                            }
-                        }
-                    ]
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_information_2": {
-            "taskName": "项目关键信息",
-            "taskKey": "f_usertask_office_information_2",
-            "setup": 2,
-            "formKey": "office_sop_information.form",
-            "formProperty": [
-                {
-                    "id": "41",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|cloud_mark_title",
-                    "formName": "f_usertask_office_information_2|cloud_mark_title",
-                    "title": "云阅卷(填写前请先认真查阅移交的项目初审及项目基本信息)",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "42",
-                    "code": "RADIO",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|deploy_way_radio",
-                    "formName": "f_usertask_office_information_2|deploy_way_radio",
-                    "title": "部署方式",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "单选框",
-                    "span": 6,
-                    "options": "[{\"value\":\"ONLINE\",\"label\":\"线上部署\"},{\"value\":\"LOCAL\",\"label\":\"本地部署\"}]"
-                },
-                {
-                    "id": "43",
-                    "code": "RADIO",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|mark_way_radio",
-                    "formName": "f_usertask_office_information_2|mark_way_radio",
-                    "title": "阅卷方式",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "单选框",
-                    "span": 6,
-                    "options": "[{\"value\":\"TOGETHER\",\"label\":\"集中阅卷\"},{\"value\":\"ANYTIME\",\"label\":\"分散阅卷\"}]"
-                },
-                {
-                    "id": "44",
-                    "code": "RADIO",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|scan_net_radio",
-                    "formName": "f_usertask_office_information_2|scan_net_radio",
-                    "title": "扫描场地网络情况",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "单选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"INTERNET\",\"label\":\"提供外网\"},{\"value\":\"LOCALHOST\",\"label\":\"不提供外网\"}]"
-                },
-                {
-                    "id": "45",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|scan_start_time",
-                    "formName": "f_usertask_office_information_2|scan_start_time",
-                    "title": "扫描开始时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "46",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|scan_end_time",
-                    "formName": "f_usertask_office_information_2|scan_end_time",
-                    "title": "扫描结束时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "47",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|mark_start_time",
-                    "formName": "f_usertask_office_information_2|mark_start_time",
-                    "title": "评卷开始时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "48",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|mark_end_time",
-                    "formName": "f_usertask_office_information_2|mark_end_time",
-                    "title": "评卷结束时间",
-                    "inputType": "LONG",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "49",
-                    "code": "TEXTAREA",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|ramark",
-                    "formName": "f_usertask_office_information_2|ramark",
-                    "title": "其它特殊要求",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本域",
-                    "span": 12
-                },
-                {
-                    "id": "50",
-                    "code": "FILE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_information_2|exam_plan_photos",
-                    "formName": "f_usertask_office_information_2|exam_plan_photos",
-                    "title": "考试时间安排表拍照上传",
-                    "inputType": "ARRAY",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "length": 5,
-                    "name": "文件",
-                    "span": 12
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_inside_approve_3": {
-            "taskName": "项目内审",
-            "taskKey": "f_usertask_office_inside_approve_3",
-            "setup": 3,
-            "formKey": "office_sop_inside_approve.form",
-            "formProperty": [
-                {
-                    "id": "51",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_inside_approve_3|inside_title",
-                    "formName": "f_usertask_office_inside_approve_3|inside_title",
-                    "title": "项目内审(请于24小时内完成内审",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "52",
-                    "code": "RADIO",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_inside_approve_3|approve_radio",
-                    "formName": "f_usertask_office_inside_approve_3|approve_radio",
-                    "title": "我对以上项目关键信息已审核,确认内容无误:",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "单选框",
-                    "span": 9,
-                    "options": "[{\"value\":\"1\",\"label\":\"同意\"},{\"value\":\"0\",\"label\":\"不同意\"}]"
-                },
-                {
-                    "id": "53",
-                    "code": "SIGN",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_inside_approve_3|sign",
-                    "formName": "f_usertask_office_inside_approve_3|sign",
-                    "title": "添加签名",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "签名",
-                    "span": 3
-                },
-                {
-                    "id": "54",
-                    "code": "TEXTAREA",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_inside_approve_3|approve_ramark",
-                    "formName": "f_usertask_office_inside_approve_3|approve_ramark",
-                    "title": "审批意见",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本域",
-                    "span": 9
-                }
-            ],
-            "approveRejectList": [
-                {
-                    "afterFlowTaskKey": "f_usertask_office_information_2",
-                    "setup": 2
-                }
-            ]
-        },
-        "f_usertask_office_device_out_4": {
-            "taskName": "设备出库登记",
-            "taskKey": "f_usertask_office_device_out_4",
-            "setup": 4,
-            "formKey": "office_sop_device_out.form",
-            "formProperty": [
-                {
-                    "id": "55",
-                    "code": "LABEL",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_out_4|device_in_out_label",
-                    "formName": "f_usertask_office_device_out_4|device_in_out_label",
-                    "title": "设备出入库",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "value": "出库",
-                    "name": "标签",
-                    "span": 6
-                },
-                {
-                    "id": "56",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_out_4|device_out_time",
-                    "formName": "f_usertask_office_device_out_4|device_out_time",
-                    "title": "设备出库时间",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "57",
-                    "code": "DEVICE_OUT_TABLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_out_4|device_out_table",
-                    "formName": "f_usertask_office_device_out_4|device_out_table",
-                    "title": "设备出库表格",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "设备出库表格",
-                    "span": 12
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_scan_ready_5": {
-            "taskName": "扫描准备",
-            "taskKey": "f_usertask_office_scan_ready_5",
-            "setup": 5,
-            "formKey": "office_sop_scan_ready.form",
-            "formProperty": [
-                {
-                    "id": "58",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|import_data_title",
-                    "formName": "f_usertask_office_scan_ready_5|import_data_title",
-                    "title": "导入数据",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "59",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|data_same",
-                    "formName": "f_usertask_office_scan_ready_5|data_same",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 6,
-                    "options": "[{\"value\":\"true\",\"label\":\"导入数据与原始数据是否一致\"}]"
-                },
-                {
-                    "id": "60",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|import_exam_student_count",
-                    "formName": "f_usertask_office_scan_ready_5|import_exam_student_count",
-                    "title": "导入考生数量",
-                    "inputType": "INT",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "61",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|scan_set_title",
-                    "formName": "f_usertask_office_scan_ready_5|scan_set_title",
-                    "title": "扫描仪设置",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "62",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|scan_set_cb",
-                    "formName": "f_usertask_office_scan_ready_5|scan_set_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、扫描仪分辨率设置是否150、扫描模式是否双面、图像类型是否灰度\"},{\"value\":\"2\",\"label\":\"2、选择“扫描模式”-“设置”-“装订边缘”-“上”\"}]"
-                },
-                {
-                    "id": "63",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|card_format_title",
-                    "formName": "f_usertask_office_scan_ready_5|card_format_title",
-                    "title": "卡格式制作",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "64",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_ready_5|card_format_cb",
-                    "formName": "f_usertask_office_scan_ready_5|card_format_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、定位点、校验点是否制作\"},{\"value\":\"2\",\"label\":\"2、缺考区域是否框选\"},{\"value\":\"3\",\"label\":\"3、客观题区域是否正确框选、行列以及单选多选是否正确\"},{\"value\":\"4\",\"label\":\"4、条码识别区是否制作\"},{\"value\":\"5\",\"label\":\"5、屏蔽区是否制作\"},{\"value\":\"6\",\"label\":\"6、卷型:若有,则框选\"},{\"value\":\"7\",\"label\":\"7、页码:若答题卡超过1张,则框选\"}]"
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_scan_6": {
-            "taskName": "正式扫描",
-            "taskKey": "f_usertask_office_scan_6",
-            "setup": 6,
-            "formKey": "office_sop_scan.form",
-            "formProperty": [
-                {
-                    "id": "65",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_6|scan_test_title",
-                    "formName": "f_usertask_office_scan_6|scan_test_title",
-                    "title": "试扫检查",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "66",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_scan_6|scan_test_cb",
-                    "formName": "f_usertask_office_scan_6|scan_test_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、查看条码是否识别正确\"},{\"value\":\"2\",\"label\":\"2、缺考、客观题是否识别正确\"},{\"value\":\"3\",\"label\":\"3、扫描原图正反面是否正确显示\"},{\"value\":\"4\",\"label\":\"4、裁切图屏蔽区是否正确\"},{\"value\":\"5\",\"label\":\"5、卷型:若有,是否识别正确\"},{\"value\":\"6\",\"label\":\"6、页码:若答题卡超过1张,是否页码识别正确\"}]"
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_check_final_7": {
-            "taskName": "校验收尾",
-            "taskKey": "f_usertask_office_check_final_7",
-            "setup": 7,
-            "formKey": "office_sop_check_final.form",
-            "formProperty": [
-                {
-                    "id": "67",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|un_upload_exam_student_title",
-                    "formName": "f_usertask_office_check_final_7|un_upload_exam_student_title",
-                    "title": "未上传考生核对",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "68",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|un_upload_exam_student_cb",
-                    "formName": "f_usertask_office_check_final_7|un_upload_exam_student_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 9,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、未上传考生是否与签到表进行核对,是否为缺考、违纪、免考等情况\"},{\"value\":\"2\",\"label\":\"2、是否将未上传考生发给学校确认\"}]"
-                },
-                {
-                    "id": "69",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|finish_count",
-                    "formName": "f_usertask_office_check_final_7|finish_count",
-                    "title": "完成数量",
-                    "inputType": "INT",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 3
-                },
-                {
-                    "id": "70",
-                    "code": "FILE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|upload_file_un_upload_exam_student_photo",
-                    "formName": "f_usertask_office_check_final_7|upload_file_un_upload_exam_student_photo",
-                    "title": "上传学校未上传考生沟通确认截图",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文件",
-                    "span": 12
-                },
-                {
-                    "id": "71",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|Identify_title",
-                    "formName": "f_usertask_office_check_final_7|Identify_title",
-                    "title": "识别对照",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "72",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|Identify_cb",
-                    "formName": "f_usertask_office_check_final_7|Identify_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"true\",\"label\":\"是否将客观题识别异常的全部人工修改处理\"}]"
-                },
-                {
-                    "id": "73",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|absent_exam_student_title",
-                    "formName": "f_usertask_office_check_final_7|absent_exam_student_title",
-                    "title": "缺考名单比对",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "74",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|absent_exam_student_cb",
-                    "formName": "f_usertask_office_check_final_7|absent_exam_student_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"true\",\"label\":\"核对未上传条数是否与学校提供的缺考名单吻合,人工指定为缺考(考生管理>导入名单>导入缺考名单)\"}]"
-                },
-                {
-                    "id": "75",
-                    "code": "TEXT",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|absent_count",
-                    "formName": "f_usertask_office_check_final_7|absent_count",
-                    "title": "缺考科次数量",
-                    "inputType": "INT",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "文本",
-                    "span": 6
-                },
-                {
-                    "id": "76",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|manual_code_title",
-                    "formName": "f_usertask_office_check_final_7|manual_code_title",
-                    "title": "手工输入条码确认",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "77",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_check_final_7|manual_code_cb",
-                    "formName": "f_usertask_office_check_final_7|manual_code_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"true\",\"label\":\"“数据检查” -“人工确认”,“确认完成”}]"
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_mark_prep_8": {
-            "taskName": "评卷准备",
-            "taskKey": "f_usertask_office_mark_prep_8",
-            "setup": 8,
-            "formKey": "office_sop_mark_prep.form",
-            "formProperty": [
-                {
-                    "id": "78",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_prep_8|mark_model_title",
-                    "formName": "f_usertask_office_mark_prep_8|mark_model_title",
-                    "title": "评卷模式确认",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "79",
-                    "code": "RADIO",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_prep_8|mark_model_radio",
-                    "formName": "f_usertask_office_mark_prep_8|mark_model_radio",
-                    "title": "评卷模式",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "单选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"TRAIL\",\"label\":\"轨迹模式\"},{\"value\":\"NORMAL\",\"label\":\"普通模式\"}]"
-                },
-                {
-                    "id": "80",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_prep_8|mark_params_title",
-                    "formName": "f_usertask_office_mark_prep_8|mark_params_title",
-                    "title": "评卷参数核对",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "81",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_prep_8|mark_params_cb",
-                    "formName": "f_usertask_office_mark_prep_8|mark_params_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、核查每个科目的满分是否正确(大部分科目都是100分)\"},{\"value\":\"2\",\"label\":\"2、核对客观题标答以及分数是否录入正确、多选题判分规则(漏选是否得分、任选得分)\"},{\"value\":\"3\",\"label\":\"检查所有科目结构和分组是否全部导入。(评卷管理>评卷进度查看分组状态)\"}]"
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_mark_final_9": {
-            "taskName": "评卷收尾",
-            "taskKey": "f_usertask_office_mark_final_9",
-            "setup": 9,
-            "formKey": "office_sop_mark_final.form",
-            "formProperty": [
-                {
-                    "id": "82",
-                    "code": "FORM_GROUP_TITLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_final_9|mark_submit_title",
-                    "formName": "f_usertask_office_mark_final_9|mark_submit_title",
-                    "title": "成绩提交核查",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "name": "带虚线分割线的标题",
-                    "span": 12
-                },
-                {
-                    "id": "83",
-                    "code": "CHECKBOX",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_final_9|mark_submit_cb",
-                    "formName": "f_usertask_office_mark_final_9|mark_submit_cb",
-                    "inputType": "STRING",
-                    "required": true,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "复选框",
-                    "span": 12,
-                    "options": "[{\"value\":\"1\",\"label\":\"1、是否已核对不缺考、客观题为0分的情况\"},{\"value\":\"2\",\"label\":\"2、是否已核对主观题为0、客观题有分的情况\"},{\"value\":\"3\",\"label\":\"3、是否检查客观题小题得分率低于20%的情况\"},{\"value\":\"4\",\"label\":\"4、核对导出成绩表数据条数是否与考生表数量一致,不能带有“未导出全量数据”字样;请填写导出成绩数量以及完成时间\"},{\"value\":\"5\",\"label\":\"5、核对导出图片工具是否正常运行\"}]"
-                },
-                {
-                    "id": "84",
-                    "code": "FILE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_mark_final_9|upload_success_photos",
-                    "formName": "f_usertask_office_mark_final_9|upload_success_photos",
-                    "title": "上传验收报告(纸质)拍照",
-                    "inputType": "ARRAY",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "length": 5,
-                    "name": "文件",
-                    "span": 12
-                }
-            ],
-            "approveRejectList": null
-        },
-        "f_usertask_office_device_in_10": {
-            "taskName": "设备入库登记",
-            "taskKey": "f_usertask_office_device_in_10",
-            "setup": 10,
-            "formKey": "office_sop_device_in.form",
-            "formProperty": [
-                {
-                    "id": "85",
-                    "code": "LABEL",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_in_10|device_in_out_label",
-                    "formName": "f_usertask_office_device_in_10|device_in_out_label",
-                    "title": "设备出入库",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": true,
-                    "writable": false,
-                    "visable": true,
-                    "value": "入库",
-                    "name": "标签",
-                    "span": 6
-                },
-                {
-                    "id": "86",
-                    "code": "DATE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_in_10|device_in_time",
-                    "formName": "f_usertask_office_device_in_10|device_in_time",
-                    "title": "设备入库时间",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "format": "yyyy-MM-dd",
-                    "name": "日期",
-                    "span": 6
-                },
-                {
-                    "id": "87",
-                    "code": "DEVICE_IN_TABLE",
-                    "type": "FORM",
-                    "formId": "f_usertask_office_device_in_10|device_in_table",
-                    "formName": "f_usertask_office_device_in_10|device_in_table",
-                    "title": "设备入库表格",
-                    "inputType": "STRING",
-                    "required": false,
-                    "readable": false,
-                    "writable": true,
-                    "visable": true,
-                    "name": "设备入库表格",
-                    "span": 12
-                }
-            ],
-            "approveRejectList": null
-        }
-    },
-    "version": 1
-}

+ 41 - 5
src/views/user/auth-manage/user-manage/index.vue

@@ -1,7 +1,16 @@
 <template>
   <div class="user h-full">
-    <div v-if="perm.BUTTON_Add" class="page-action page-header">
-      <t-button theme="primary" @click="handleAdd">
+    <div class="page-action page-header">
+      <t-select
+        :options="roleOptions"
+        v-model="params.roleIds"
+        multiple
+        style="width: 300px; display: inline-block"
+        placeholder="选择角色搜索"
+      >
+      </t-select>
+      <t-button>搜索</t-button>
+      <t-button v-if="perm.BUTTON_Add" theme="primary" @click="handleAdd">
         <template #icon><svg-icon name="add-circle" color="#fff" /></template>
         新增用户
       </t-button>
@@ -95,7 +104,7 @@
 </template>
 
 <script setup name="User">
-import { ref } from 'vue';
+import { ref, onMounted } from 'vue';
 import { getUserList, initUserPassword, getSupplierByUser } from '@/api/user';
 import useFetchTable from '@/hooks/useFetchTable';
 import AddUserDialog from './add-user-dialog.vue';
@@ -104,6 +113,7 @@ import { toggleUserStatus } from '@/api/user';
 import { DialogPlugin, MessagePlugin } from 'tdesign-vue-next';
 import usePermission from '@/hooks/usePermission';
 import BindSupplierDialog from './bind-supplier-dialog.vue';
+import { getRoleList } from '@/api/user';
 const { perm } = usePermission();
 
 const showAddUserDialog = ref(false);
@@ -125,14 +135,25 @@ const columns = [
     width: 280,
   },
 ];
-
+const roleOptions = ref([]);
+const params = ref({ roleIds: [] });
+onMounted(() => {
+  getRoleList({ pageNumber: 1, pageSize: 1000 }).then((res) => {
+    roleOptions.value = (res?.records || []).map((item) => ({
+      label: item.name,
+      value: item.id,
+    }));
+  });
+});
 const {
   loading: tableLoading,
   pagination,
   tableData,
   fetchData,
   onChange,
-} = useFetchTable(getUserList);
+} = useFetchTable(getUserList, {
+  params: { roleIds: params.value.roleIds.join(',') },
+});
 
 const handleAdd = () => {
   curRow.value = null;
@@ -210,3 +231,18 @@ const bindSupplierSuccess = () => {
   MessagePlugin.success('绑定成功');
 };
 </script>
+<style lang="less" scoped>
+.page-header {
+  :deep(.t-select) {
+    &.t-select-input--multiple {
+      .t-input__prefix {
+        display: flex !important;
+        overflow: auto;
+      }
+      .t-input__inner.t-input--soft-hidden {
+        display: none;
+      }
+    }
+  }
+}
+</style>

+ 13 - 3
src/views/work-hours/work-hours-manage/abnormal-check/wait-check.vue

@@ -167,9 +167,6 @@ const fields = ref([
       {
         type: 'button',
         text: '搜索',
-        attrs: {
-          style: { marginLeft: '0 !important' },
-        },
         onClick: () => {
           search();
         },
@@ -198,8 +195,21 @@ const fields = ref([
       valueType: 'time-stamp',
     },
   },
+  {
+    prop: 'roleType',
+    label: '角色类型',
+    type: 'select',
+    labelWidth: 70,
+    colSpan: 6,
+    options: [
+      { value: 'REGION_COORDINATOR', label: '区域协调人' },
+      { value: 'EFFECT_ENGINEER', label: '工程师' },
+    ],
+    attrs: { clearable: true },
+  },
 ]);
 const params = reactive({
+  roleType: '',
   serviceId: '',
   name: '',
   supplierId: '',