Forráskód Böngészése

Merge branch 'dev' of git.echepei.com:caojunjie/Smart_platform_ui into dev

caojunjie 3 éve
szülő
commit
45bb90676f

+ 20 - 7
src/views/workManagement/main-items/configuration/detailsPage.json

@@ -180,8 +180,14 @@
       "slot": true,
       "overHidden": true,
       "index": 14,
-      "width": 100,
-      "cell": true
+      "width": 100
+    },
+    {
+      "label": "月数",
+      "prop": "second",
+      "overHidden": true,
+      "index": 15,
+      "width": 100
     },
     {
       "label": "提醒日",
@@ -190,7 +196,7 @@
       "format": "yyyy-MM-dd",
       "type": "date",
       "overHidden": true,
-      "index": 15,
+      "index": 16,
       "width": 100,
       "cell": true
     },
@@ -199,7 +205,7 @@
       "prop": "createUserName",
       "disabled": true,
       "overHidden": true,
-      "index": 16,
+      "index": 17,
       "width": 100
     },
     {
@@ -207,21 +213,28 @@
       "prop": "createTime",
       "disabled": true,
       "overHidden": true,
-      "index": 17,
+      "index": 18,
       "width": 100
     },
     {
       "label": "最新修改人",
       "prop": "updateUserName",
       "overHidden": true,
-      "index": 18,
+      "index": 19,
       "width": 100
     },
     {
       "label": "最新修改时间",
       "prop": "updateTime",
       "overHidden": true,
-      "index": 19,
+      "index": 20,
+      "width": 100
+    },
+    {
+      "label": "单据状态",
+      "prop": "taskStatus",
+      "overHidden": true,
+      "index": 21,
       "width": 100
     }
   ]

+ 170 - 176
src/views/workManagement/main-items/list.vue

@@ -1,176 +1,163 @@
 <template>
   <div>
-  <basic-container v-show="show">
-    <avue-crud
-      ref="crud"
-      :data="data"
-      :option="optionTable"
-      :page.sync="page"
-      :search.sync="search"
-      :table-loading="loading"
-      :summary-method="summaryMethod"
-      :cell-style="cellStyle"
-      @row-del="rowDel"
-      @size-change="sizeChange"
-      @search-change="searchChange"
-      @current-change="currentChange"
-      @refresh-change="refreshChange"
-      @on-load="getList"
-      @saveColumn="saveColumn"
-      @resetColumn="resetColumn"
-      @expand-change="expandChange"
-      @search-criteria-switch="searchCriteriaSwitch"
-    >
-      <template slot="expand" slot-scope="scope">
-        <el-menu :default-active="scope.row.projectType" class="el-menu-demo" mode="horizontal" @select="(key, keyPath) =>{handleSelect(scope,key, keyPath)}">
-          <el-menu-item :index="0">原始数据</el-menu-item>
-          <el-menu-item :index="1">追加</el-menu-item>
-          <el-menu-item :index="2">退款</el-menu-item>
-        </el-menu>
-        <el-table :data="scope.row.insideList">
-          <el-table-column  label="状态" prop="strStatus" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="服务项目" prop="pname" align="center" show-overflow-tooltip width="180"></el-table-column>
-          <el-table-column  label="收费建议" prop="remarks" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="承做人" prop="userid" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="任务部门" prop="deptid" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="开始日期" prop="beginTime" align="center" show-overflow-tooltip width="120"></el-table-column>
-          <el-table-column  label="完成日期" prop="actualDate" align="center" show-overflow-tooltip width="180"></el-table-column>
-          <el-table-column  label="服务费" prop="serviceCharge" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="成本" prop="matMoney" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="未知明细收入" prop="otheramt" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="合计金额" prop="amount" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="收款方式" prop="accountName" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="收款日期" prop="payTime" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="频率" prop="frequency" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="提醒日" prop="reminderDay" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="制单人" prop="createUserName" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="制单日期" prop="createTime" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="最新修改人" prop="updateUserName" align="center" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column  label="最新修改时间" prop="updateTime" align="center" show-overflow-tooltip width="200"></el-table-column>
-        </el-table>
-      </template>
-      <template slot="corpIdSearch">
-        <select-component
-          v-model="search.corpId"
-          :configuration="configuration"
-        ></select-component>
-      </template>
-      <template slot-scope="scope" slot="corpId">
-        <span style="color: #409EFF;cursor: pointer" @click.stop="editOpen(scope.row,scope.index)">{{ scope.row.corpNames }}</span>
-      </template>
-      <template slot="corpAttnSearch">
-        <el-select v-model="search.corpAttn"
-                   remote
-                   filterable
-                   clearable
-                   :remote-method="remoteMethod"
-        >
-          <el-option
-            v-for="item in options"
-            :key="item.value"
-            :label="item.realName"
-            :value="item.realName">
-          </el-option>
-        </el-select>
-      </template>
-      <template slot="menuLeft" >
-        <el-button type="primary"
-                   size="small"
-                   icon="el-icon-plus"
-                   @click="addMainItems">新 单
-        </el-button>
-        <el-button size="small"
-                   icon="el-icon-printer"
-                   type="info"
-                   :loading="exportLoading"
-                   @click.stop="openReport()"
-          >导 出
-        </el-button>
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-edit"
-          size="small"
-          @click.stop="editOpen(scope.row, scope.index)"
-        >编辑
-        </el-button>
-        <el-button
-          type="text"
-          icon="el-icon-delete"
-          size="small"
-          :disabled="!scope.row.allowDelete"
-          @click.stop="rowDel(scope.row, scope.index)"
-        >删除
-        </el-button>
-      </template>
-    </avue-crud>
-  </basic-container>
-  <detail-page
-    v-if="!show"
-    ref="detail"
-    @goBack="goBack"
-    :detailData="detailData"
-  ></detail-page>
+    <basic-container v-show="show">
+      <avue-crud ref="crud" :data="data" :option="optionTable" :page.sync="page" :search.sync="search"
+        :table-loading="loading" :summary-method="summaryMethod" :cell-style="cellStyle" @row-del="rowDel"
+        @size-change="sizeChange" @search-change="searchChange" @current-change="currentChange"
+        @refresh-change="refreshChange" @on-load="getList" @saveColumn="saveColumn" @resetColumn="resetColumn"
+        @expand-change="expandChange" @search-criteria-switch="searchCriteriaSwitch" class="zyTable">
+        <template slot="expand" slot-scope="scope">
+          <el-menu :default-active="scope.row.projectType" class="el-menu-demo" mode="horizontal"
+            @select="(key, keyPath) => { handleSelect(scope, key, keyPath) }">
+            <el-menu-item :index="0">原始数据</el-menu-item>
+            <el-menu-item :index="1">追加</el-menu-item>
+            <el-menu-item :index="2">退款</el-menu-item>
+          </el-menu>
+          <el-table :data="scope.row.insideList">
+            <el-table-column label="状态" prop="strStatus" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="服务项目" prop="pname" align="center" show-overflow-tooltip width="180">
+            </el-table-column>
+            <el-table-column label="收费建议" prop="remarks" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column label="承做人" prop="userid" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column label="任务部门" prop="deptid" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column label="开始日期" prop="beginTime" align="center" show-overflow-tooltip width="120">
+            </el-table-column>
+            <el-table-column label="完成日期" prop="actualDate" align="center" show-overflow-tooltip width="180">
+            </el-table-column>
+            <el-table-column label="服务费" prop="serviceCharge" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="成本" prop="matMoney" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="未知明细收入" prop="otheramt" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="合计金额" prop="amount" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="收款方式" prop="accountName" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="收款日期" prop="payTime" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="频率" prop="frequency" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="提醒日" prop="reminderDay" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="制单人" prop="createUserName" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="制单日期" prop="createTime" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="最新修改人" prop="updateUserName" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="最新修改时间" prop="updateTime" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column label="单据状态" prop="status" align="center" show-overflow-tooltip width="200">
+            </el-table-column>
+            <el-table-column fixed="right" label="操作" width="80" align="center">
+              <template slot-scope="scope">
+                <el-button @click="dispatch(scope.row)" type="text" size="small">派工</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </template>
+        <template slot="corpIdSearch">
+          <select-component v-model="search.corpId" :configuration="configuration"></select-component>
+        </template>
+        <template slot-scope="scope" slot="corpId">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="editOpen(scope.row, scope.index)">{{
+              scope.row.corpNames
+          }}</span>
+        </template>
+        <template slot="corpAttnSearch">
+          <el-select v-model="search.corpAttn" remote filterable clearable :remote-method="remoteMethod">
+            <el-option v-for="item in options" :key="item.value" :label="item.realName" :value="item.realName">
+            </el-option>
+          </el-select>
+        </template>
+        <template slot="menuLeft">
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addMainItems">新 单
+          </el-button>
+          <el-button size="small" icon="el-icon-printer" type="info" :loading="exportLoading"
+            @click.stop="openReport()">导 出
+          </el-button>
+        </template>
+        <template slot-scope="scope" slot="menu">
+          <el-button type="text" icon="el-icon-edit" size="small" @click.stop="editOpen(scope.row, scope.index)">编辑
+          </el-button>
+          <el-button type="text" icon="el-icon-delete" size="small" :disabled="!scope.row.allowDelete"
+            @click.stop="rowDel(scope.row, scope.index)">删除
+          </el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <detail-page v-if="!show" ref="detail" @goBack="goBack" :detailData="detailData"></detail-page>
   </div>
 </template>
 
 <script>
-  import option from "./configuration/mainList.json";
-  import detailPage from "./detailsPage.vue";
-  import {getList, deleteMain, projectDetail} from "@/api/workManagement/mainProject";
-  import reportDialog from "@/components/report-dialog/main";
-  import { micrometerFormat } from "@/util/validate";
-  import { getUserList } from "@/api/workManagement/mainProject";
-  import _ from "lodash";
+import option from "./configuration/mainList.json";
+import detailPage from "./detailsPage.vue";
+import { getList, deleteMain, projectDetail } from "@/api/workManagement/mainProject";
+import reportDialog from "@/components/report-dialog/main";
+import { micrometerFormat } from "@/util/validate";
+import { getUserList } from "@/api/workManagement/mainProject";
+import _ from "lodash";
 
 export default {
   data() {
     return {
       loading: false,
-      exportLoading:false,
+      exportLoading: false,
       data: [],
-      options:[],
+      options: [],
       show: true,
-      detailData:{},
-      search:{},
-      configuration:{
-        multipleChoices:false,
-        multiple:false,
-        disabled:false,
-        searchShow:true,
-        collapseTags:false,
-        clearable:true,
-        placeholder:'请点击右边按钮选择',
-        dicData:[]
+      detailData: {},
+      search: {},
+      configuration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        clearable: true,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
       },
       optionTable: {},
       page: {
         currentPage: 1,
         total: 0,
         pageSize: 10,
-        pageSizes: [10,20, 50, 100, 200,400, 500]
+        pageSizes: [10, 20, 50, 100, 200, 400, 500]
       }
     };
   },
   async created() {
     this.optionTable = await this.getColumnData(this.getColumnName(55), option);
-    getUserList().then(res=>{
-      res.data.data.map((item,index)=>{
-        if(index <= 20){
+    getUserList().then(res => {
+      res.data.data.map((item, index) => {
+        if (index <= 20) {
           this.options.push(item)
         }
       })
     })
   },
   activated() {
-    if(!this.show && !this.$store.getters.mainItemStatus){
+    if (!this.show && !this.$store.getters.mainItemStatus) {
       this.show = true;
     }
     setTimeout(() => {
-      if(this.$route.query.itemId &&  this.show){
-        this.detailData={
-          itemId:this.$route.query.itemId
+      if (this.$route.query.itemId && this.show) {
+        this.detailData = {
+          itemId: this.$route.query.itemId
+        }
+        this.show = false;
+        this.$store.commit("MAIN_IN_DETAIL");
+      }
+      if (this.$route.query.data && this.show) {
+        this.detailData = {
+          data: this.$route.query.data
         }
         this.show = false;
         this.$store.commit("MAIN_IN_DETAIL");
@@ -187,39 +174,39 @@ export default {
   methods: {
     //展开搜索
     expandChange(row, expendList) {
-      projectDetail(row.id,"0,1,2,3,4,5").then(res =>{
-        if (res.data.data.itemList){
-          this.$set(row,'insideList',res.data.data.itemList.filter(item=>item.projectType === 0))
+      projectDetail(row.id, "0,1,2,3,4,5").then(res => {
+        if (res.data.data.itemList) {
+          this.$set(row, 'insideList', res.data.data.itemList.filter(item => item.projectType === 0))
         }
-        this.$set(row,'itemList',res.data.data.itemList)
-        this.$set(row,'projectType',0)
+        this.$set(row, 'itemList', res.data.data.itemList)
+        this.$set(row, 'projectType', 0)
       })
     },
     //tab切换后触发
-    handleSelect(scope,key, keyPath) {
-      this.$set(scope.row,'projectType',key)
-      this.$set(scope.row,'insideList',[])
-      if (scope.row.itemList){
-        this.$set(scope.row,'insideList',scope.row.itemList.filter(item=>item.projectType === key))
+    handleSelect(scope, key, keyPath) {
+      this.$set(scope.row, 'projectType', key)
+      this.$set(scope.row, 'insideList', [])
+      if (scope.row.itemList) {
+        this.$set(scope.row, 'insideList', scope.row.itemList.filter(item => item.projectType === key))
       }
     },
     //远程模糊
-    remoteMethod(query){
+    remoteMethod(query) {
       let params = {
-        realName : query
+        realName: query
       }
-      getUserList(params).then(res=>{
+      getUserList(params).then(res => {
         this.options = res.data.data
       })
     },
     //报表
     openReport() {
       this.exportLoading = true
-      let  searchParams = Object.assign({},this.search);
+      let searchParams = Object.assign({}, this.search);
       let param = this.paramsAdjustment(searchParams)
-      getList(1, 10000,param).then(res =>{
+      getList(1, 10000, param).then(res => {
         const fileData = this.deepClone(res.data.data.records)
-        fileData.map(item =>{
+        fileData.map(item => {
           item.corpId = item.corpNames
         })
         this.$Export.excel({
@@ -227,7 +214,7 @@ export default {
           columns: option.column,
           data: fileData,
         });
-      }).finally(()=>{
+      }).finally(() => {
         this.exportLoading = false
       })
     },
@@ -236,32 +223,35 @@ export default {
     onClose(val) {
       this.switchDialog = val;
     },
-    paramsAdjustment(params){
-      params = Object.assign({},this.search);
-      if (params.createTime &&  params.createTime.length !=0) {  //发货
-        params.createStartDate = params.createTime[0]+ " " + "00:00:00";
+    dispatch(row) {
+      console.log(row)
+    },
+    paramsAdjustment(params) {
+      params = Object.assign({}, this.search);
+      if (params.createTime && params.createTime.length != 0) {  //发货
+        params.createStartDate = params.createTime[0] + " " + "00:00:00";
         params.createEndDate = params.createTime[1] + " " + "23:59:59";
-        this.$delete(params,'createTime')
+        this.$delete(params, 'createTime')
       }
       params.flag = 0;
       return params
     },
     //flag:0 判断是主营项目还是结算
-    getList(page,params) {
+    getList(page, params) {
       params = this.paramsAdjustment(params)
       this.loading = true;
-      getList(page.currentPage, page.pageSize,params).then(res =>{
+      getList(page.currentPage, page.pageSize, params).then(res => {
         this.data = res.data.data.records
         this.page.total = res.data.data.total
         if (this.page.total) {
           this.optionTable.height = window.innerHeight - 240;
         }
-      }).finally(()=>{
+      }).finally(() => {
         this.loading = false;
       })
     },
     //新单打开
-    addMainItems(){
+    addMainItems() {
       this.detailData = {
         id: '',
       };
@@ -269,7 +259,7 @@ export default {
       this.$store.commit("MAIN_IN_DETAIL");
     },
     //编辑打开
-    editOpen(row, index){
+    editOpen(row, index) {
       this.detailData = {
         id: row.id
       };
@@ -289,17 +279,17 @@ export default {
       this.getList(this.page);
     },
     refreshChange(params) {
-      this.getList(this.page,params);
+      this.getList(this.page, params);
     },
     //删除列表后面的删除按钮触发触发(row, index, done)
     rowDel(row, index, done) {
-      if(row.allowDelete){
+      if (row.allowDelete) {
         this.$confirm("确定将选择数据删除?", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
         }).then(() => {
-          deleteMain(row.id).then(res =>{
+          deleteMain(row.id).then(res => {
             this.$message({
               type: "success",
               message: "操作成功!"
@@ -308,17 +298,17 @@ export default {
           // 数据回调进行刷新
           this.getList(this.page);
         });
-      }else{
+      } else {
         this.$message({
           type: "warning",
           message: "当前项目存在已请核任务 不能删除!"
         });
       }
     },
-    searchCriteriaSwitch(type){
-      if (type){
+    searchCriteriaSwitch(type) {
+      if (type) {
         this.optionTable.height = this.optionTable.height - 50
-      }else {
+      } else {
         this.optionTable.height = this.optionTable.height + 50
       }
       this.$refs.crud.getTableHeight()
@@ -357,7 +347,7 @@ export default {
       });
     },
     goBack() {
-      this.detailData=this.$options.data().detailData
+      this.detailData = this.$options.data().detailData
       this.show = true;
       this.getList(this.page, this.search)
     },
@@ -392,4 +382,8 @@ export default {
 };
 </script>
 
-<style></style>
+<style scoped>
+.zyTable ::v-deep .el-table__expanded-cell[class*=cell] {
+  padding: 20px 120px 20px 50px;
+}
+</style>