浏览代码

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	itdmWeb/yarn.lock
110 1 年之前
父节点
当前提交
27c92209a4

+ 3 - 3
itdmWeb/package.json

@@ -49,9 +49,9 @@
     "vue-splitpane": "^1.0.4",
     "vue-splitpane": "^1.0.4",
     "vuedraggable": "^2.20.0",
     "vuedraggable": "^2.20.0",
     "vuex": "^3.1.0",
     "vuex": "^3.1.0",
-    "vxe-table": "2.9.13",
-    "vxe-table-plugin-antd": "1.8.10",
-    "xe-utils": "2.4.8",
+    "vxe-table": "^3.6.13",
+    "vxe-table-plugin-antd": "^3.0.7",
+    "xe-utils": "^3.5.11",
     "xss": "^1.0.13"
     "xss": "^1.0.13"
   },
   },
   "devDependencies": {
   "devDependencies": {

+ 7 - 1
itdmWeb/src/api/api.js

@@ -81,6 +81,10 @@ const delBaojing = (params)=>deleteAction("/itdm/voice/delete",params);
 const confirmPa = (params)=>getAction("/itdmMima/itdmMima/panduan",params);
 const confirmPa = (params)=>getAction("/itdmMima/itdmMima/panduan",params);
 // 折线图初始化
 // 折线图初始化
 const listGraph = (params)=>getAction("/second/screen/chushihua/{id}",params);
 const listGraph = (params)=>getAction("/second/screen/chushihua/{id}",params);
+// 首页数据
+const listBdc = (params)=>getAction("/itdmFirstPage/getFrstPageTaskNum",params);
+// 首页列表
+const listBdc2 = (params)=>getAction("/itdmFirstPage/itdmTask/list",params);
 
 
 
 
 //日志管理
 //日志管理
@@ -201,7 +205,9 @@ export {
   getWeituoInfoListByClient,
   getWeituoInfoListByClient,
   delBaojing,
   delBaojing,
   confirmPa,
   confirmPa,
-  listGraph
+  listGraph,
+  listBdc,
+  listBdc2
 }
 }
 
 
 
 

+ 1 - 1
itdmWeb/src/components/jeecg/JVxeTable/components/JVxeTable.js

@@ -12,7 +12,7 @@ import JVxeSubPopover from './JVxeSubPopover'
 import JVxeDetailsModal from './JVxeDetailsModal'
 import JVxeDetailsModal from './JVxeDetailsModal'
 import JVxePagination from './JVxePagination'
 import JVxePagination from './JVxePagination'
 import { cloneObject, getVmParentByName, pushIfNotExist, randomString, simpleDebounce } from '@/utils/util'
 import { cloneObject, getVmParentByName, pushIfNotExist, randomString, simpleDebounce } from '@/utils/util'
-import { UtilTools } from 'vxe-table/packages/tools/src/utils'
+import { UtilTools } from 'vxe-table/packages/tools/utils'
 import { getNoAuthCols } from '@/utils/authFilter'
 import { getNoAuthCols } from '@/utils/authFilter'
 
 
 export default {
 export default {

+ 6 - 0
itdmWeb/src/main.js

@@ -47,6 +47,12 @@ import '@/assets/less/JAreaLinkage.less'
 import VueAreaLinkage from 'vue-area-linkage'
 import VueAreaLinkage from 'vue-area-linkage'
 import '@/components/jeecg/JVxeTable/install'
 import '@/components/jeecg/JVxeTable/install'
 import '@/components/JVxeCells/install'
 import '@/components/JVxeCells/install'
+
+// import Vue from 'vue'
+import VXETable from 'vxe-table'
+import 'vxe-table/lib/style.css'
+Vue.use(VXETable)
+
 //表单验证
 //表单验证
 import { rules } from '@/utils/rules'
 import { rules } from '@/utils/rules'
 Vue.prototype.rules = rules
 Vue.prototype.rules = rules

+ 4 - 4
itdmWeb/src/views/dashboard/Analysis.vue

@@ -6,9 +6,9 @@
     <div style="width: 100%;text-align: right;margin-top: 20px">
     <div style="width: 100%;text-align: right;margin-top: 20px">
       请选择首页样式:
       请选择首页样式:
       <a-radio-group v-model="indexStyle">
       <a-radio-group v-model="indexStyle">
-        <a-radio :value="1">统计图表</a-radio>
-        <a-radio :value="2">统计图表2</a-radio>
-        <a-radio :value="3">任务表格</a-radio>
+        <!-- <a-radio :value="1">统计图表</a-radio>
+        <a-radio :value="2">统计图表2</a-radio> -->
+        <!-- <a-radio :value="3">任务表格</a-radio> -->
       </a-radio-group>
       </a-radio-group>
     </div>
     </div>
   </div>
   </div>
@@ -28,7 +28,7 @@
     },
     },
     data() {
     data() {
       return {
       return {
-        indexStyle:1
+        indexStyle:2
       }
       }
     },
     },
     created() {
     created() {

+ 213 - 150
itdmWeb/src/views/dashboard/IndexBdc.vue

@@ -2,127 +2,102 @@
   <div class="page-header-index-wide">
   <div class="page-header-index-wide">
     <a-row :gutter="24">
     <a-row :gutter="24">
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="受理量" :total="cardCount.sll | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-area :data-source="chartData.sll" />
+        <div @click="zhengchang()">
+          <chart-card :loading="loading" total="所有任务" class="suoyou">
+          </chart-card>
+          <span class="recent">[近30天]</span>
+          <div class="numRecent">
+            <div style="font-size:35px; color: #3293f6;">{{listBdc.totalNum}}</div>
+            <div style="font-size:20px; padding-top:10%; padding-left:3px;">项</div>
           </div>
           </div>
-          <template slot="footer">今日受理量:<span>{{ todaySll }}</span></template>
-        </chart-card>
+        </div>
       </a-col>
       </a-col>
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="办结量" :total="cardCount.bjl | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-area :data-source="chartData.bjl"/>
+        <div @click="zhengchang(0)">
+          <chart-card :loading="loading" total="待办" class="daiban">
+          </chart-card>
+          <span class="recent2">[近30天]</span>
+          <div class="numRecent">
+            <div style="font-size:35px; color: #e91111;">{{listBdc.daibanNum}}</div>
+            <div style="font-size:20px; padding-top:10%; padding-left:3px;">项</div>
           </div>
           </div>
-          <template slot="footer">今日办结量:<span>{{ todayBjl }}</span></template>
-        </chart-card>
+        </div>
       </a-col>
       </a-col>
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="用户受理量" :total="cardCount.isll | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-bar :datasource="chartData.isll" :height="50"/>
+        <div @click="zhengchang(1)">
+          <chart-card :loading="loading" total="进行中" class="jinxing">
+          </chart-card>
+          <span class="recent3">[近30天]</span>
+          <div class="numRecent">
+            <div style="font-size:35px; color: #f9c04a;">{{listBdc.jinxingNum}}</div>
+            <div style="font-size:20px; padding-top:10%; padding-left:3px;">项</div>
           </div>
           </div>
-          <template slot="footer">用户今日受理量:<span>{{ todayISll }}</span></template>
-        </chart-card>
+        </div>
       </a-col>
       </a-col>
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
       <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="用户办结量" :total="cardCount.ibjl | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-bar :datasource="chartData.ibjl" :height="50"/>
+        <div @click="zhengchang(2)">
+          <chart-card :loading="loading" total="已完成" class="wancheng">
+          </chart-card>
+          <span class="recent3">[近30天]</span>
+          <div class="numRecent">
+            <div style="font-size:35px; color: #18c679;">{{listBdc.wanchengNum}}</div>
+            <div style="font-size:20px; padding-top:10%; padding-left:3px;">项</div>
           </div>
           </div>
-          <template slot="footer">用户今日办结量:<span>{{ todayIBjl }}</span></template>
-        </chart-card>
+        </div>
       </a-col>
       </a-col>
     </a-row>
     </a-row>
 
 
-    <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}">
+    <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}" class="list">
       <div class="salesCard">
       <div class="salesCard">
         <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
         <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
-          <div class="extra-wrapper" slot="tabBarExtraContent">
-            <div class="extra-item">
-              <a>今日</a>
-              <a>本周</a>
-              <a>本月</a>
-              <a>本年</a>
-            </div>
-            <a-range-picker :style="{width: '256px'}" />
-          </div>
-
-          <a-tab-pane loading="true" tab="受理监管" key="1">
-            <a-row>
-              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
-                <index-bar title="受理量统计" />
-              </a-col>
-              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
-
-                <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
-                  <div class="item-group">
-                    <a-row>
-                      <a-col :class="'more-btn'" :span="12" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index ">
-                        <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button>
-                      </a-col>
-                    </a-row>
-                  </div>
-                </a-card>
-
-              </a-col>
-            </a-row>
-          </a-tab-pane>
-
-          <a-tab-pane tab="交互监管" key="2">
+          <a-tab-pane loading="true" :tab="tab" key="1">
             <a-row>
             <a-row>
-              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
-                <bar-multid :sourceData="jhjgData" :fields="jhjgFields" title="平台与部门交互量统计"></bar-multid>
-              </a-col>
-              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
-
-                <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
-                  <div class="item-group">
-                    <a-row>
-                      <a-col :class="'more-btn'" :span="12" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index ">
-                        <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button>
-                      </a-col>
-                    </a-row>
+              <a-col :xl="18" :lg="12" :md="12" :sm="24" :xs="24">
+                <a-table
+                  style="padding-left: 20px;"
+                  ref="tableBds"
+                  size="small"
+                  rowKey="id"
+                  :scroll="{ y: 'calc(100vh - 490px)' }"
+                  :columns="columnsBds"
+                  :loading="loading2"
+                  :dataSource="tableDataBds"
+                  :pagination="ipagination2"
+                  @change="tableChange2">
+
+                  <div slot="taskStatus" slot-scope="text, record">
+                    <!-- <span v-if="record.taskStatus ==0" style="color: #e91111;">待办</span>
+                    <span v-if="record.taskStatus ==1" style="color: #f9c04a;">进行中</span>
+                    <span v-if="record.taskStatus ==2" style="color: #18c679;">完成</span> -->
+                    <span v-if="record.taskStatus ==0">待办</span>
+                    <span v-if="record.taskStatus ==1">进行中</span>
+                    <span v-if="record.taskStatus ==2">完成</span>
                   </div>
                   </div>
-                </a-card>
-
-              </a-col>
-            </a-row>
-          </a-tab-pane>
-
-          <a-tab-pane tab="存储监管" key="4">
-            <a-row>
-              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
-                <a-row>
-                  <template v-if="diskInfo && diskInfo.length>0">
-                    <a-col :span="12" v-for="(item,index) in diskInfo" :key=" 'diskInfo'+index ">
-                      <dash-chart-demo :title="item.name" :datasource="item.restPPT"></dash-chart-demo>
-                    </a-col>
+                </a-table>
+                <!-- <itdm-task-list></itdm-task-list> -->
+                <!-- <index-bar title="受理量统计" /> -->
+                <!-- <a-table :dataSource="dataSource2" size="default" rowKey="id" :columns="columns2" :pagination="ipagination2" @change="tableChange2">
+                  <template slot="flowRate" slot-scope="text, record">
+                    <span style="color: red;">{{ record.flowRate }}小时</span>
                   </template>
                   </template>
-                </a-row>
+                </a-table> -->
               </a-col>
               </a-col>
-
-              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
-
-                <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
-                  <div class="item-group">
-                    <a-row>
-                      <a-col :class="'more-btn'" :span="10" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index ">
-                        <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button>
-                      </a-col>
-                    </a-row>
+              <a-col :xl="4" :lg="12" :md="12" :sm="24" :xs="24">
+                <a-card title="便捷导航" class="daoHang">
+                  <div style="margin-bottom: 15px;">
+                    <trend flag>
+                      <a slot="term" @click="$router.push({path:'/itdmGongdanMaster/itdmGongdanMasterList'})">拆解工单</a>
+                    </trend>
+                  </div>
+                  <div style="margin-bottom: 15px;">
+                    <trend flag>
+                      <a slot="term" @click="$router.push({path:'/gongdandetail/itdmGongdanDetailList'})">工单确认</a>
+                    </trend>
+                  </div>
+                  <div>
+                    <trend flag>
+                      <a slot="term" @click="$router.push({path:'/gongdanshuju/ItdmGongdanShujuList'})">数据确认</a>
+                    </trend>
                   </div>
                   </div>
                 </a-card>
                 </a-card>
 
 
@@ -135,41 +110,6 @@
       </div>
       </div>
     </a-card>
     </a-card>
 
 
-    <a-row :gutter="12">
-      <a-card :loading="loading" :class="{ 'anty-list-cust':true }" :bordered="false" :style="{ marginTop: '24px' }">
-
-        <a-tabs v-model="indexBottomTab" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
-          <div class="extra-wrapper" slot="tabBarExtraContent">
-            <a-radio-group v-model="indexRegisterType" @change="changeRegisterType">
-              <a-radio-button value="转移登记">转移登记</a-radio-button>
-              <a-radio-button value="抵押登记">抵押登记</a-radio-button>
-              <a-radio-button value="">所有</a-radio-button>
-            </a-radio-group>
-          </div>
-
-          <a-tab-pane loading="true" tab="业务流程限时监管" key="1">
-
-            <a-table :dataSource="dataSource1" size="default" rowKey="id" :columns="columns" :pagination="ipagination1" @change="tableChange1">
-              <template slot="flowRate" slot-scope="text, record, index">
-                <a-progress :strokeColor="getPercentColor(record.flowRate)" :format="getPercentFormat" :percent="getFlowRateNumber(record.flowRate)" style="width:80px" />
-              </template>
-            </a-table>
-          </a-tab-pane>
-
-          <a-tab-pane loading="true" tab="业务节点限时监管" key="2">
-            <a-table :dataSource="dataSource2" size="default" rowKey="id" :columns="columns2" :pagination="ipagination2" @change="tableChange2">
-              <template slot="flowRate" slot-scope="text, record, index">
-                <span style="color: red;">{{ record.flowRate }}小时</span>
-              </template>
-            </a-table>
-          </a-tab-pane>
-
-        </a-tabs>
-
-
-      </a-card>
-    </a-row>
-
   </div>
   </div>
 </template>
 </template>
 
 
@@ -183,6 +123,9 @@
   import IndexBar from '@/components/chart/IndexBar'
   import IndexBar from '@/components/chart/IndexBar'
   import BarMultid from '@/components/chart/BarMultid'
   import BarMultid from '@/components/chart/BarMultid'
   import DashChartDemo from '@/components/chart/DashChartDemo'
   import DashChartDemo from '@/components/chart/DashChartDemo'
+  import Trend from '@/components/Trend'
+  import {listBdc, listBdc2} from '@/api/api'
+import ItdmTaskList from '../module-iTDM/itdmFirstPage/ItdmTaskList.vue'
 
 
   const jhjgData = [
   const jhjgData = [
     { type: '房管', '1月': 900, '2月': 1120, '3月': 1380, '4月': 1480, '5月': 1450, '6月': 1100, '7月':1300, '8月':900,'9月':1000 ,'10月':1200 ,'11月':600 ,'12月':900 },
     { type: '房管', '1月': 900, '2月': 1120, '3月': 1380, '4月': 1480, '5月': 1450, '6月': 1100, '7月':1300, '8月':900,'9月':1000 ,'10月':1200 ,'11月':600 ,'12月':900 },
@@ -300,11 +243,15 @@
       MiniBar,
       MiniBar,
       DashChartDemo,
       DashChartDemo,
       BarMultid,
       BarMultid,
-      IndexBar
+      IndexBar,
+      Trend,
+        ItdmTaskList
     },
     },
     data() {
     data() {
       return {
       return {
         loading: true,
         loading: true,
+        loading2: false,
+        listBdc: {},
         cardCount:{
         cardCount:{
           sll:100,
           sll:100,
           bjl:87,
           bjl:87,
@@ -362,21 +309,78 @@
         },
         },
         ipagination2:{
         ipagination2:{
           current: 1,
           current: 1,
-          pageSize: 5,
+          pageSize: 10,
           pageSizeOptions: ['10', '20', '30'],
           pageSizeOptions: ['10', '20', '30'],
           showTotal: (total, range) => {
           showTotal: (total, range) => {
             return range[0] + "-" + range[1] + " 共" + total + "条"
             return range[0] + "-" + range[1] + " 共" + total + "条"
           },
           },
           showQuickJumper: true,
           showQuickJumper: true,
-          showSizeChanger: true,
+          // showSizeChanger: true,
           total: 0,
           total: 0,
         },
         },
         indexRegisterType:"转移登记",
         indexRegisterType:"转移登记",
-        indexBottomTab:"1"
+        indexBottomTab:"1",
+        // 任务列表
+        columnsBds: [
+          { title:'委托单位', align:"center", dataIndex: 'weituoClient' },
+          { title:'委托编号', align:"center", dataIndex: 'weituoNo' },
+          { title:'内容', align:"center", dataIndex: 'taskContent' },
+          { title:'待办角色', align:"center", dataIndex: 'taskRole' },
+          { title:'待办人员', align:"center", dataIndex: 'taskUser' },
+          { title:'任务状态', align:"center", dataIndex: 'taskStatus', scopedSlots: { customRender: 'taskStatus' } },
+          // { title:'关联委托id', align:"center", dataIndex: 'weituoId_dictText' },
+        ],
+        tableDataBds: [],
+        tab: '所有任务',
+        queryParam: {
+          taskStatus: '',
+        },
 
 
       }
       }
     },
     },
+    created() {
+      this.getListBdc()
+      this.zhengchang()
+      // this.loadDataSource1()
+      // this.loadDataSource2()
+      setTimeout(() => {
+        this.loading = !this.loading
+      }, 1000)
+    },
     methods:{
     methods:{
+      // 获取首页数据
+      getListBdc(){
+        listBdc().then( res => {
+          console.log(11111,res)
+          this.listBdc = res
+        })
+      },
+      // 获取首页列表
+      zhengchang(num){
+        console.log(num)
+        this.loading2 = true
+        if (num == undefined) {
+          this.tab = '所有任务'
+          this.queryParam.taskStatus = ''
+        }
+        if (num == 0) {
+          this.tab = '待办'
+          this.queryParam.taskStatus = 0
+        }
+        if (num == 1) {
+          this.tab = '进行中'
+          this.queryParam.taskStatus = 1
+        }
+        if (num == 2) {
+          this.tab = '完成'
+          this.queryParam.taskStatus = 2
+        }
+        listBdc2(this.queryParam).then( res => {
+          console.log(2222,res)
+          this.tableDataBds = res.result
+          this.loading2 = false
+        })
+      },
       goPage(){
       goPage(){
         this.$message.success("根据业务自行处理跳转页面!")
         this.$message.success("根据业务自行处理跳转页面!")
       },
       },
@@ -391,12 +395,13 @@
       tableChange1(pagination){
       tableChange1(pagination){
         this.ipagination1.current = pagination.current
         this.ipagination1.current = pagination.current
         this.ipagination1.pageSize = pagination.pageSize
         this.ipagination1.pageSize = pagination.pageSize
-        this.queryTimeoutInfo()
+        // this.queryTimeoutInfo()
       },
       },
       tableChange2(pagination){
       tableChange2(pagination){
         this.ipagination2.current = pagination.current
         this.ipagination2.current = pagination.current
         this.ipagination2.pageSize = pagination.pageSize
         this.ipagination2.pageSize = pagination.pageSize
-        this.queryNodeTimeoutInfo()
+        // this.queryNodeTimeoutInfo()
+        this.zhengchang()
       },
       },
       getFlowRateNumber(value){
       getFlowRateNumber(value){
         return Number(value)
         return Number(value)
@@ -435,18 +440,76 @@
           return item.type==this.indexRegisterType
           return item.type==this.indexRegisterType
         })
         })
       }
       }
-    },
-    created() {
-      this.loadDataSource1()
-      this.loadDataSource2()
-      setTimeout(() => {
-        this.loading = !this.loading
-      }, 1000)
     }
     }
   }
   }
 </script>
 </script>
 
 
 <style lang="less" scoped>
 <style lang="less" scoped>
+::v-deep .total{
+    width: 50%;
+  }
+  .recent{
+    position: absolute;
+    top: 25%;
+    left: 42%;
+  }
+  .recent2{
+    position: absolute;
+    top: 25%;
+    left: 26%;
+  }
+  .recent3{
+    position: absolute;
+    top: 25%;
+    left: 34%;
+  }
+  .numRecent{
+    height: 30%;
+    width: 40%;
+    // background-color: aquamarine;
+    position: absolute;
+    top: 12%;
+    right: 10%;
+    display: flex;
+    justify-content: flex-end;
+  }
+  .daoHang {
+    width: 300px;
+    height: 200px;
+    border-radius: 5px;
+    margin-left: 40px;
+  }
+  ::v-deep .ant-card{
+    border-radius: 10px !important;
+    padding-bottom: 20px;
+  }
+  ::v-deep .ant-card-head{
+    background-color: #c2e6ff85;
+    border-radius: 10px !important;
+    font-size: 20px;
+  }
+  .suoyou{
+    box-shadow: 0 10px 15px  rgba(212, 211, 212, 0.445);
+  }
+  .daiban{
+    background-color: rgb(255, 246, 246);
+    box-shadow: 0 10px 15px  rgba(255, 208, 208, 0.552);
+  }
+  // .daiban:hover {
+	// 	// box-shadow: 0 16px 32px 0 rgba(48, 55, 66, 0.15);/* 盒子悬浮时阴影 */
+  //   // box-shadow: 0 10px 15px  rgba(255, 182, 182, 0.552);
+	// }
+  .jinxing{
+    background-color: rgb(255, 253, 244);
+    box-shadow: 0 10px 15px  rgba(254, 233, 189, 0.552);
+  }
+  .wancheng{
+    background-color: rgb(250, 253, 244);
+    box-shadow: 0 10px 15px  rgba(194, 228, 205, 0.515);
+  }
+  // .list {
+  //   height: 480px;
+  // }
   .extra-wrapper {
   .extra-wrapper {
     line-height: 55px;
     line-height: 55px;
     padding-right: 24px;
     padding-right: 24px;

+ 86 - 101
itdmWeb/src/views/dashboard/IndexChart.vue

@@ -1,64 +1,57 @@
 <template>
 <template>
   <div class="page-header-index-wide">
   <div class="page-header-index-wide">
     <a-row :gutter="24">
     <a-row :gutter="24">
-      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="总销售额" total="¥126,560">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" total="所有任务">
           <div>
           <div>
-            <trend flag="up" style="margin-right: 16px;">
-              <span slot="term">周同比</span>
-              12%
+            <trend flag style="margin-right: 16px;">
+              <div @click="zhengchang(1)">
+                <span slot="term">待办</span>
+                12
+              </div>
             </trend>
             </trend>
-            <trend flag="down">
-              <span slot="term">日同比</span>
-              11%
+            <trend flag style="margin-right: 16px;">
+              <div @click="zhengchang(2)">
+                <span slot="term">进行中</span>
+                13
+              </div>
+            </trend>
+            <trend flag>
+              <div @click="zhengchang(3)">
+                <span slot="term">完成</span>
+                11
+              </div>
             </trend>
             </trend>
           </div>
           </div>
-          <template slot="footer">日均销售额<span>¥ 234.56</span></template>
-        </chart-card>
-      </a-col>
-      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="订单量" :total="8846 | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-area />
-          </div>
-          <template slot="footer">日订单量<span> {{ '1234' | NumberFormat }}</span></template>
         </chart-card>
         </chart-card>
+        <span class="recent">[近30天]</span>
+        <div class="numRecent">
+          <div style="font-size:35px; color: #e91111;">123</div>
+          <div style="font-size:20px; padding-top:8%; padding-left:5px;">项</div>
+        </div>
       </a-col>
       </a-col>
-      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="支付笔数" :total="6560 | NumberFormat">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
-          <div>
-            <mini-bar :height="40" />
-          </div>
-          <template slot="footer">转化率 <span>60%</span></template>
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" total="待办任务">
+
         </chart-card>
         </chart-card>
+        <div class="numRecent">
+          <div style="font-size:35px; color: #e91111;">12</div>
+          <div style="font-size:20px; padding-top:8%; padding-left:5px;">项</div>
+        </div>
       </a-col>
       </a-col>
-      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
-        <chart-card :loading="loading" title="运营活动效果" total="78%">
-          <a-tooltip title="指标说明" slot="action">
-            <a-icon type="info-circle-o" />
-          </a-tooltip>
+      <a-col :sm="24" :md="12" :xl="8" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" total="快捷入口">
           <div>
           <div>
-            <mini-progress color="rgb(19, 194, 194)" :target="80" :percentage="78" :height="8" />
-          </div>
-          <template slot="footer">
-            <trend flag="down" style="margin-right: 16px;">
-              <span slot="term">同周比</span>
-              12%
+            <trend flag style="margin-right: 16px;">
+              <a slot="term" @click="$router.push({path:'/itdmGongdanMaster/itdmGongdanMasterList'})">拆解工单</a>
             </trend>
             </trend>
-            <trend flag="up">
-              <span slot="term">日环比</span>
-              80%
+            <trend flag style="margin-right: 16px;">
+              <a slot="term" @click="$router.push({path:'/gongdandetail/itdmGongdanDetailList'})">工单确认</a>
             </trend>
             </trend>
-          </template>
+            <trend flag>
+              <a slot="term" @click="$router.push({path:'/gongdanshuju/ItdmGongdanShujuList'})">数据确认</a>
+            </trend>
+          </div>
         </chart-card>
         </chart-card>
       </a-col>
       </a-col>
     </a-row>
     </a-row>
@@ -66,16 +59,7 @@
     <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}">
     <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}">
       <div class="salesCard">
       <div class="salesCard">
         <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
         <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
-          <div class="extra-wrapper" slot="tabBarExtraContent">
-            <div class="extra-item">
-              <a>今日</a>
-              <a>本周</a>
-              <a>本月</a>
-              <a>本年</a>
-            </div>
-            <a-range-picker :style="{width: '256px'}" />
-          </div>
-          <a-tab-pane loading="true" tab="销售额" key="1">
+          <a-tab-pane loading="true" :tab="tab" key="1">
             <a-row>
             <a-row>
               <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
               <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
                 <bar title="销售额排行" :dataSource="barData"/>
                 <bar title="销售额排行" :dataSource="barData"/>
@@ -85,53 +69,9 @@
               </a-col>
               </a-col>
             </a-row>
             </a-row>
           </a-tab-pane>
           </a-tab-pane>
-          <a-tab-pane tab="销售趋势" key="2">
-            <a-row>
-              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
-                <bar title="销售额趋势" :dataSource="barData"/>
-              </a-col>
-              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
-                <rank-list title="门店销售排行榜" :list="rankList"/>
-              </a-col>
-            </a-row>
-          </a-tab-pane>
         </a-tabs>
         </a-tabs>
       </div>
       </div>
     </a-card>
     </a-card>
-
-    <a-row>
-      <a-col :span="24">
-        <a-card :loading="loading" :bordered="false" title="最近一周访问量统计" :style="{ marginTop: '24px' }">
-          <a-row>
-            <a-col :span="6">
-              <head-info title="今日IP" :content="loginfo.todayIp"></head-info>
-            </a-col>
-            <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="environment" style="font-size: 24px"  />
-              </a-spin>
-            </a-col>
-            <a-col :span="6">
-              <head-info title="今日访问" :content="loginfo.todayVisitCount"></head-info>
-            </a-col>
-            <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="team" style="font-size: 24px"  />
-              </a-spin>
-            </a-col>
-            <a-col :span="6">
-              <head-info title="总访问量" :content="loginfo.totalVisitCount"></head-info>
-            </a-col>
-            <a-col :span="2">
-              <a-spin class='circle-cust'>
-                <a-icon slot="indicator" type="rise" style="font-size: 24px"  />
-              </a-spin>
-            </a-col>
-          </a-row>
-          <line-chart-multid :fields="visitFields" :dataSource="visitInfo"></line-chart-multid>
-        </a-card>
-      </a-col>
-    </a-row>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -182,6 +122,7 @@
     data() {
     data() {
       return {
       return {
         loading: true,
         loading: true,
+        tab: '待办',
         center: null,
         center: null,
         rankList,
         rankList,
         barData,
         barData,
@@ -213,11 +154,55 @@
            }
            }
          })
          })
       },
       },
+      zhengchang(num){
+        console.log(num)
+        if (num == 1) {
+          this.tab = '待办'
+        }
+        if (num == 2) {
+          this.tab = '进行中'
+        }
+        if (num == 3) {
+          this.tab = '完成'
+        }
+        // this.deviceOptions = []
+        // console.log(this.deviceOptions)
+        // var deOption = this.allDevOptions
+        // if( !num && num == undefined ){
+        //   this.deviceOptions = this.allDevOptions
+        //   return false
+        // }
+        // for (var i = 0; i < deOption.length; i++) {
+        //   console.log(deOption[i].deviceStatus)
+        //   if(deOption[i].deviceStatus == num){
+        //     this.deviceOptions.push(deOption[i])
+        //     console.log(this.deviceOptions)
+        //   }
+        // }
+      },
     }
     }
   }
   }
 </script>
 </script>
 
 
 <style lang="less" scoped>
 <style lang="less" scoped>
+  ::v-deep .total{
+    width: 50%;
+  }
+  .recent{
+    position: absolute;
+    top: 29%;
+    left: 32%;
+  }
+  .numRecent{
+    height: 30%;
+    width: 40%;
+    // background-color: aquamarine;
+    position: absolute;
+    top: 12%;
+    right: 8%;
+    display: flex;
+    justify-content: flex-end;
+  }
   .circle-cust{
   .circle-cust{
     position: relative;
     position: relative;
     top: 28px;
     top: 28px;

+ 2 - 2
itdmWeb/src/views/module-iTDM/baogao/ItdmBaogaoList.vue

@@ -14,7 +14,7 @@
           </a-col>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="委托编号">
             <a-form-item label="委托编号">
-              <j-search-select-tag placeholder="请选择委托编号"  v-model="queryParam.weituoNo"  :dictOptions="weituoNoList" />
+              <j-search-select-tag ref="weituoNo" placeholder="请选择委托编号"  v-model="queryParam.weituoNo"   :dictOptions="weituoNoList" />
             </a-form-item>
             </a-form-item>
           </a-col>
           </a-col>
 
 
@@ -209,7 +209,7 @@ export default {
   },
   },
   methods: {
   methods: {
     handlewcChange(data){
     handlewcChange(data){
-
+      this.$refs.weituoNo.handleChange('')
       var weituoClient={weituoClient:data}
       var weituoClient={weituoClient:data}
       getAction('/weituo/itdmWeituoInfo/weituoNoList', weituoClient).then((res) => {
       getAction('/weituo/itdmWeituoInfo/weituoNoList', weituoClient).then((res) => {
         if (res.success) {
         if (res.success) {

+ 56 - 74
itdmWeb/src/views/module-iTDM/baogao/modules/ItdmBaogaoForm.vue

@@ -14,42 +14,17 @@
             <a-form-model-item label="委托信息" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoId">
             <a-form-model-item label="委托信息" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoId">
 
 
 
 
-              <a-select
-                show-search
-                v-model="model.weituoId"
-                placeholder="请选择"
-                :default-active-first-option="false"
-                :show-arrow="false"
-                :filter-option="false"
-                :not-found-content="null"
-                @change="handleChange"
-              >
-                <a-select-option v-for="d in weituoDictOptions" :key="d.value">
-                  {{ d.text }}
-                </a-select-option>
-              </a-select>
+              <j-search-select-tag ref="weituoNo" v-model="model.weituoId" :dictOptions="weituoDictOptions"
+                                   placeholder="请选择" @change="handleChange" />
+
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
 
 
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item label="委托样品" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleIds">
             <a-form-model-item label="委托样品" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sampleIds">
-              <a-select
-                show-search
-
-                mode="multiple"
-                v-model="model.sampleIds"
-                placeholder="请选择"
-                :default-active-first-option="false"
-                :show-arrow="false"
-                :filter-option="false"
-                :not-found-content="null"
-                @change="handleYPChange"
-
-              >
-                <a-select-option v-for="d in yangppinDictOptions" :key="d.value">
-                  {{ d.text }}
-                </a-select-option>
-              </a-select>
+              <j-multi-select-tag ref="yangpin" v-model="model.sampleIds" placeholder="请选择"
+                                  :options="yangppinDictOptions" @change="handleYPChange" />
+
             </a-form-model-item>
             </a-form-model-item>
 
 
           </a-col>
           </a-col>
@@ -57,22 +32,9 @@
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item label="委托样品检测项目" :labelCol="labelCol" :wrapperCol="wrapperCol"
             <a-form-model-item label="委托样品检测项目" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                prop="testItemsIds">
                                prop="testItemsIds">
-              <a-select
-                show-search
-                mode="multiple"
-                v-model="model.testItemsIds"
-                placeholder="请选择"
-                :default-active-first-option="false"
-                :show-arrow="false"
-                :filter-option="false"
-                :not-found-content="null"
-
-
-              >
-                <a-select-option v-for="d in yangppinLsDictOptions" :key="d.value">
-                  {{ d.text }}
-                </a-select-option>
-              </a-select>
+
+              <j-multi-select-tag ref="jiance" v-model="model.testItemsIds" placeholder="请选择"
+                                  :options="yangppinLsDictOptions" />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
 
 
@@ -172,8 +134,12 @@ export default {
   methods: {
   methods: {
 
 
     handlewcChange(data) {
     handlewcChange(data) {
-      var weituoClient = { weituoClient: data }
+      this.$refs.weituoNo.handleChange('')
+      this.$refs.yangpin.onChange([])
+      this.$refs.jiance.onChange([])
+
 
 
+      var weituoClient = { weituoClient: data }
       getAction('/weituo/itdmWeituoInfo/weituoNoList', weituoClient).then((res) => {
       getAction('/weituo/itdmWeituoInfo/weituoNoList', weituoClient).then((res) => {
         if (res.success) {
         if (res.success) {
           this.weituoDictOptions = res.result.map(i => {
           this.weituoDictOptions = res.result.map(i => {
@@ -200,44 +166,60 @@ export default {
     },
     },
 
 
     yangpmList(weituoId) {
     yangpmList(weituoId) {
-      const select = { weituoId: weituoId }
-      getAction('/baogao/itdmBaogao/yangpin/list', select).then((res) => {
-        if (res.success) {
-          this.yangppinDictOptions = res.result.map(i => {
-            const map = {}
-            map.text = i.sampleName
-            map.value = i.id
-            return map
-          })
+      console.log(weituoId)
+      if (weituoId !== '') {
+        const select = { weituoId: weituoId }
+        getAction('/baogao/itdmBaogao/yangpin/list', select).then((res) => {
+          if (res.success) {
+            this.yangppinDictOptions = res.result.map(i => {
+              const map = {}
+              map.label = i.sampleName
+              map.value = i.id
+              return map
+            })
+
+          } else {
+            this.$message.warning(res.message)
+          }
+        })
+      }else{
+        this.yangppinDictOptions=[]
+      }
 
 
-        } else {
-          this.$message.warning(res.message)
-        }
-      })
     },
     },
 
 
     queryShiyanList(yangpinIds) {
     queryShiyanList(yangpinIds) {
-      const select = { 'yangpinIds': yangpinIds.toString() }
-      getAction('/baogao/itdmBaogao/shiyan/list', select).then((res) => {
-        if (res.success) {
-          this.yangppinLsDictOptions = res.result.map(i => {
-            const map = {}
-            map.text = i.testItems
-            map.value = i.id
-            return map
-          })
+      console.log(yangpinIds)
+      if (yangpinIds !== '') {
+        const select = { 'yangpinIds': yangpinIds.toString() }
+        getAction('/baogao/itdmBaogao/shiyan/list', select).then((res) => {
+          if (res.success) {
+            this.yangppinLsDictOptions = res.result.map(i => {
+              const map = {}
+              map.label = i.testItems
+              map.value = i.id
+              return map
+            })
+
+          } else {
+            this.$message.warning(res.message)
+          }
+        })
+      }else{
+        this.yangppinLsDictOptions=[]
+      }
 
 
-        } else {
-          this.$message.warning(res.message)
-        }
-      })
     },
     },
 
 
     handleYPChange(value) {
     handleYPChange(value) {
+
+      this.$refs.jiance.onChange([])
       console.log(value)
       console.log(value)
       this.queryShiyanList(value)
       this.queryShiyanList(value)
     },
     },
     handleChange(value) {
     handleChange(value) {
+      this.$refs.yangpin.onChange([])
+      this.$refs.jiance.onChange([])
       console.log(value)
       console.log(value)
       this.yangpmList(value)
       this.yangpmList(value)
 
 

+ 4 - 4
itdmWeb/src/views/module-iTDM/gongdandetail/modules/ItdmGongdanDetailForm.vue

@@ -41,15 +41,15 @@
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item label="实绩试验开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
             <a-form-model-item label="实绩试验开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                prop="shijiStartTime">
                                prop="shijiStartTime">
-              <j-date placeholder="请选择实绩试验开始时间" v-model="model.shijiStartTime" :showTime="true"
-                      :dateFormat="'HH:mm'" style="width: 100%" />
+              <a-time-picker placeholder="请选择实绩试验开始时间" v-model="model.shijiStartTime"
+                      :format="'HH:mm'" style="width: 100%" />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
           <a-col :span="24">
           <a-col :span="24">
             <a-form-model-item label="实绩试验结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
             <a-form-model-item label="实绩试验结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                prop="shijiEndTime">
                                prop="shijiEndTime">
-              <j-date placeholder="请选择实绩试验结束时间" v-model="model.shijiEndTime" :showTime="true"
-                      :dateFormat="'HH:mm'" style="width: 100%" />
+              <a-time-picker placeholder="请选择实绩试验结束时间" v-model="model.shijiEndTime"
+                      :format="'HH:mm'" style="width: 100%" />
             </a-form-model-item>
             </a-form-model-item>
           </a-col>
           </a-col>
 <!--          <a-col :span="24">-->
 <!--          <a-col :span="24">-->

+ 2 - 2
itdmWeb/src/views/module-iTDM/itdmGongdanMaster/itdmGongdanMasterList.vue

@@ -160,7 +160,7 @@ export default {
           section_sensor: "传感器:",
           section_sensor: "传感器:",
           section_reportNo: "报告编号:",
           section_reportNo: "报告编号:",
           section_shiiyanType: "试验类型:",
           section_shiiyanType: "试验类型:",
-          section_worker: "试验员:",
+          section_worker: "操作员:",
           section_yangpinCount: "样品数量:",
           section_yangpinCount: "样品数量:",
           section_priority: '优先级:',
           section_priority: '优先级:',
           status: '任务状态',
           status: '任务状态',
@@ -498,7 +498,7 @@ export default {
     // 获取项目经理下拉列表
     // 获取项目经理下拉列表
     getManagerList(){
     getManagerList(){
       var query ={
       var query ={
-        position: "试验员"
+        position: "操作员"
       }
       }
       getManagerList(query).then((res) => {
       getManagerList(query).then((res) => {
         this.tasks.collections.worker = res.map(response =>{
         this.tasks.collections.worker = res.map(response =>{

+ 101 - 0
itdmWeb/src/views/module-iTDM/itdmJiXiao/itdmJiXiao.vue

@@ -0,0 +1,101 @@
+<template>
+  <div >
+
+    <vxe-toolbar>
+      <template #buttons>
+        <vxe-button icon="vxe-icon-square-plus" @click="insertEvent()">新增</vxe-button>
+        <vxe-button @click="$refs.xTable.removeCheckboxRow()">删除选中</vxe-button>
+        <!-- <vxe-button @click="getSelectionEvent">获取选中</vxe-button>
+        <vxe-button icon="vxe-icon-save" @click="getInsertEvent">获取新增</vxe-button> -->
+      </template>
+    </vxe-toolbar>
+
+    <vxe-table
+      border
+      show-overflow
+      ref="xTable"
+      height="500"
+      :data="tableData"
+      :mouse-config="{selected: true}"
+      :checkbox-config="{range: true}"
+      :menu-config="tableMenu"
+      :keyboard-config="{isArrow: true, isDel: true, isEnter: true, isTab: true, isEdit: true, isChecked: true}"
+      :edit-config="{trigger: 'dblclick', mode: 'cell'}">
+      <vxe-column type="seq" width="60"></vxe-column>
+      <vxe-column type="checkbox" width="60"></vxe-column>
+      <vxe-column field="name" title="Name" :edit-render="{autofocus: '.myinput'}">
+        <template #edit="{ row }">
+          <input v-model="row.name" type="text" class="myinput" />
+        </template>
+      </vxe-column>
+      <vxe-column field="role" title="Role" :edit-render="{autofocus: '.vxe-input--inner'}">
+        <template #edit="{ row }">
+          <vxe-input v-model="row.role" type="text"></vxe-input>
+        </template>
+      </vxe-column>
+      <vxe-column field="nickname" title="Nickname" :edit-render="{autofocus: '.vxe-input--inner'}">
+        <template #edit="{ row }">
+          <vxe-input v-model="row.nickname" type="text"></vxe-input>
+        </template>
+      </vxe-column>
+      <vxe-column field="address" title="Address" :edit-render="{autofocus: '.vxe-input--inner'}">
+        <template #edit="{ row }">
+          <vxe-input v-model="row.address" type="text"></vxe-input>
+        </template>
+      </vxe-column>
+    </vxe-table>
+  </div>
+</template>
+
+<script>
+import VXETable from 'vxe-table'
+
+  export default {
+        data () {
+          return {
+            tableData: [
+              { id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },
+              { id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
+              { id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
+              { id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 23, address: 'test abc' },
+              { id: 10005, name: 'Test5', role: 'Develop', sex: 'Women', age: 30, address: 'Shanghai' },
+              { id: 10006, name: 'Test6', role: 'Designer', sex: 'Women', age: 21, address: 'test abc' },
+              { id: 10007, name: 'Test7', role: 'Test', sex: 'Man', age: 29, address: 'test abc' },
+              { id: 10008, name: 'Test8', role: 'Develop', sex: 'Man', age: 35, address: 'test abc' }
+            ],
+            tableMenu: {
+              body: {
+                options: [
+                  [
+                    { code: 'copy', name: '复制', prefixIcon: 'vxe-icon-copy', disabled: false },
+                    { code: 'remove', name: '删除', disabled: false },
+                    { code: 'save', name: '保存', prefixIcon: 'vxe-icon-save', disabled: false }
+                  ]
+                ]
+              }
+            }
+          }
+        },
+        methods: {
+          async insertEvent () {
+            const $table = this.$refs.xTable
+            const record = {
+              sex: '1'
+            }
+            const { row: newRow } = await $table.insertAt(record)
+            await $table.setActiveCell(newRow, 'name')
+          },
+          getInsertEvent () {
+            const $table = this.$refs.xTable
+            const insertRecords = $table.getInsertRecords()
+            VXETable.modal.alert(insertRecords.length)
+          },
+          getSelectionEvent () {
+            const $table = this.$refs.xTable
+            const selectRecords = $table.getCheckboxRecords()
+            VXETable.modal.alert(selectRecords.length)
+          }
+        }
+      }
+              
+</script>

+ 235 - 0
itdmWeb/src/views/module-iTDM/itdmJiXiao/itdmJiXiaoWT.vue

@@ -0,0 +1,235 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <!-- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="密码锁住的位置">
+              <a-input placeholder="请输入密码锁住的位置" v-model="queryParam.weizhi"></a-input>
+            </a-form-item>
+          </a-col> -->
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="委托单位">
+                <a-select
+                v-model="queryParam.weituoClient"
+                placeholder="请选择委托单位"
+                show-search
+                allowClear
+                :options="weituoClientOptions"
+                @change="getWeituoClientOptions">
+                </a-select>
+              </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="委托编号">
+                <a-select
+                v-model="queryParam.weituoNo"
+                placeholder="请选择委托编号"
+                show-search
+                allowClear
+                :options="weituoNoOptions">
+                </a-select>
+              </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+              <!-- <a @click="handleToggleSearch" style="margin-left: 8px">
+                {{ toggleSearchStatus ? '收起' : '展开' }}
+                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
+              </a> -->
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <!-- <div class="table-operator">
+      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
+      <a-button type="primary" icon="download" @click="handleExportXls('修改密码表')">导出</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+        <a-button type="primary" icon="import">导入</a-button>
+      </a-upload> -->
+      <!-- 高级查询区域 -->
+      <!-- <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
+      <a-dropdown v-if="selectedRowKeys.length > 0">
+        <a-menu slot="overlay">
+          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
+        </a-menu>
+        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
+      </a-dropdown>
+    </div> -->
+
+    <!-- table区域-begin -->
+    <div>
+      <!-- <div clas="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
+        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+      </div>s -->
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            下载
+          </a-button>
+        </template>
+
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">编辑</a>
+          <!-- <a-space>
+            <arrow-right-outlined />
+          </a-space> -->
+
+          <!-- <a-divider type="vertical" />
+          <a-dropdown>
+            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a @click="handleDetail(record)">详情</a>
+              </a-menu-item>
+              <a-menu-item>
+                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
+                  <a>删除</a>
+                </a-popconfirm>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown> -->
+        </span>
+
+      </a-table>
+    </div>
+  </a-card>
+</template>
+
+<script>
+
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import {getWeituoClientList, getWeituoInfoListByClient } from '@/api/api'
+
+  export default {
+    name: 'ItdmMimaList',
+    mixins:[JeecgListMixin, mixinDevice],
+    data () {
+      return {
+        // 委托单位列表
+        weituoClientOptions : [],
+        // 委托编号列表
+        weituoNoOptions:[],
+        description: '绩效——委托列表界面',
+        // 表头
+        columns: [
+          {
+            title:'委托单位',
+            align:"center",
+            dataIndex: 'weituoClient'
+          },
+          {
+            title:'委托编号',
+            align:"center",
+            dataIndex: 'weituoNo'
+          },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:347,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+        url: {
+          list: "/weituo/itdmWeituoInfo/SHTGlist",
+          // delete: "/itdmMima/itdmMima/delete",
+          // deleteBatch: "/itdmMima/itdmMima/deleteBatch",
+          // exportXlsUrl: "/itdmMima/itdmMima/exportXls",
+          // importExcelUrl: "itdmMima/itdmMima/importExcel",
+
+        },
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created() {
+      this.getClientList()
+    // this.getSuperFieldList();
+    },
+    // computed: {
+    //   importExcelUrl: function(){
+    //     return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    //   },
+    // },
+    methods: {
+      // 获取委托单位下拉列表
+      getClientList(){
+        getWeituoClientList().then((res) =>{
+          console.log(res)
+          this.weituoClientOptions = res.result.map( res => {
+            return{
+              value: res,
+              label: res
+            }
+          })
+        })
+      },
+      // 监听委托单位获取
+      getWeituoClientOptions(value){
+        console.log(value);
+        // console.log(this.tasks.queryParamNo)
+        this.weituoNoOptions = []
+        this.queryParam.weituoNo = ''
+        getWeituoInfoListByClient(this.queryParam).then((res) =>{
+          this.weituoNoOptions = res.result.map( res => {
+            return{
+              value: res.weituoNo,  //传的值
+              label: res.weituoNo,  //展示
+            }
+          })
+        })
+      },
+      // initDictConfig(){
+      // },
+      // getSuperFieldList(){
+      //   let fieldList=[];
+      //   fieldList.push({type:'string',value:'weizhi',text:'密码锁住的位置',dictCode:''})
+      //   fieldList.push({type:'string',value:'mima',text:'密码',dictCode:''})
+      //   fieldList.push({type:'string',value:'remark',text:'备注',dictCode:''})
+      //   this.superFieldList = fieldList
+      // }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

文件差异内容过多而无法显示
+ 12101 - 12551
itdmWeb/yarn.lock