Pārlūkot izejas kodu

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

fenghy 3 gadi atpakaļ
vecāks
revīzija
f93bad1e50

+ 47 - 1
src/router/views/index.js

@@ -312,6 +312,51 @@ export default [{
       }
     ]
   },
+  // 主营项目详情页
+  {
+    path: '/mainItems_detailsPage',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: '/mainItems_detailsPage',
+        meta: {
+          i18n: 'mainItems_detailsPage'
+        },
+        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/main-items/detailsPage')
+      }
+    ]
+  },
+  // 结算修改页
+  {
+    path: '/task_editPages',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: '/task_editPages',
+        meta: {
+          i18n: 'task_editPages'
+        },
+        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/task/taskEdit')
+      }
+    ]
+  },
+  // 任务修改页
+  {
+    path: '/settleAccounts_editPages',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: '/settleAccounts_editPages',
+        meta: {
+          i18n: 'settleAccounts_editPages'
+        },
+        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/settleAccountsEdit')
+      }
+    ]
+  },
     {
         path: '/work/process/leave',
         component: Layout,
@@ -341,4 +386,5 @@ export default [{
             component: () =>
                 import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
         }]
-    }]
+    },
+]

+ 87 - 1
src/views/exportTrade/salesContract/detailsPage.vue

@@ -289,6 +289,85 @@ export default {
               }
             ]
           }, {
+            label: '起运港',
+            prop: 'b1',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '目的港',
+            prop: 'b2',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '包装要求',
+            prop: 'b3',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '计划交期',
+            prop: 'b4',
+            type: 'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '客户首付日期',
+            prop: 'b5',
+            type: 'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '首付比例',
+            prop: 'b6',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '首付金额',
+            prop: 'b7',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: '销售单价',
             prop: 'a9',
             data: [],
@@ -454,7 +533,14 @@ export default {
         a14: 1000,
         a15: 8000,
         a16: 1000,
-        orderRemark: '我是测试'
+        orderRemark: '我是测试',
+        b1: '青岛',
+        b2: '威海',
+        b3: '密封',
+        b4: '2021-10-20',
+        b5: '2021-10-19',
+        b6: '10%',
+        b7: 1000,
       }
       this.importInventoryData = [
         {a: '101801', b: 'HT2021101901',c: '巴西棉',d :'巴西',e: 800,f: 1.3,g: 1.11,h:10,i:8000,j: 6.4369,remarks:'测试备注'}

+ 90 - 4
src/views/salesManagement/salesContract/detailsPage.vue

@@ -192,7 +192,7 @@ export default {
       basicData: {
         column: [
           {
-            label: '系统号',
+            label: '系统号',
             prop: 'a1',
             rules: [
               {
@@ -202,7 +202,7 @@ export default {
               }
             ]
           }, {
-            label: '合同号',
+            label: '订单号',
             prop: 'a2',
             rules: [
               {
@@ -212,7 +212,7 @@ export default {
               }
             ]
           }, {
-            label: '合同日期',
+            label: '订单日期',
             prop: 'a3',
             type:'datetime',
             data: [],
@@ -289,6 +289,85 @@ export default {
               }
             ]
           }, {
+            label: '起运港',
+            prop: 'b1',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '目的港',
+            prop: 'b2',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '包装要求',
+            prop: 'b3',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '计划交期',
+            prop: 'b4',
+            type: 'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '客户首付日期',
+            prop: 'b5',
+            type: 'datetime',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '首付比例',
+            prop: 'b6',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '首付金额',
+            prop: 'b7',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
             label: '销售单价',
             prop: 'a9',
             data: [],
@@ -454,7 +533,14 @@ export default {
         a14: 1000,
         a15: 8000,
         a16: 1000,
-        orderRemark: '我是测试'
+        orderRemark: '我是测试',
+        b1: '青岛',
+        b2: '威海',
+        b3: '密封',
+        b4: '2021-10-20',
+        b5: '2021-10-19',
+        b6: '10%',
+        b7: 1000,
       }
       this.importInventoryData = [
         {a: '101801', b: 'HT2021101901',c: '巴西棉',d :'巴西',e: 800,f: 1.3,g: 1.11,h:10,i:8000,j: 6.4369,remarks:'测试备注'}

+ 253 - 0
src/views/workManagement/main-items/configuration/detailsPage.json

@@ -0,0 +1,253 @@
+{
+  "headerAlign": "center",
+  "align": "center",
+  "border": true,
+  "index": true,
+  "lazy": true,
+  "tip": false,
+  "simplePage": true,
+  "searchShow": false,
+  "searchMenuSpan": 6,
+  "selection": false,
+  "addBtn": false,
+  "viewBtn": true,
+  "editBtn": true,
+  "delBtn": true,
+  "menuWidth": 220,
+  "column": [
+    {
+      "label": "行号",
+      "prop": "prop1",
+      "index": 1,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入行号",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "服务项目",
+      "prop": "prop2",
+      "index": 2,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入服务项目",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "收费建议",
+      "prop": "prop3",
+      "index": 3,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入收费建议",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "计价单位",
+      "prop": "prop4",
+      "index": 4,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入计价单位",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "数量",
+      "prop": "prop5",
+      "index": 5,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入数量",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "报价",
+      "prop": "prop6",
+      "index": 6,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入报价",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "合计金额",
+      "prop": "prop7",
+      "index": 7,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入合计金额",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "频率",
+      "prop": "prop8",
+      "index": 8,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入频率",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "提醒日",
+      "prop": "prop9",
+      "index": 9,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入提醒日",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "备注",
+      "prop": "prop10",
+      "index": 10,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入备注",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "任务部门",
+      "prop": "prop11",
+      "index": 11,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入任务部门",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "承做人",
+      "prop": "prop12",
+      "index": 12,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入承做人",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "需求开始日期",
+      "prop": "prop13",
+      "index": 13,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入需求开始日期",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "需求完成日期",
+      "prop": "prop14",
+      "index": 14,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入需求完成日期",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "录入人",
+      "prop": "prop15",
+      "index": 14,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入录入人",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "录入时间",
+      "prop": "prop16",
+      "index": 14,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入录入时间",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "最新修改人",
+      "prop": "prop17",
+      "index": 14,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入最新修改人",
+          "trigger": "blur"
+        }
+      ]
+    },
+    {
+      "label": "最新修改时间",
+      "prop": "prop17",
+      "index": 14,
+      "width": 100,
+      "rules": [
+        {
+          "required": true,
+          "message": "请输入最新修改时间",
+          "trigger": "blur"
+        }
+      ]
+    }
+  ]
+}

+ 393 - 0
src/views/workManagement/main-items/detailsPage.vue

@@ -0,0 +1,393 @@
+<template>
+  <div class="borderless">
+    <div class="customer-head">
+      <div class="customer-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                   @click="backToList">返回列表
+        </el-button>
+      </div>
+    </div>
+    <div style="margin-top: 60px">
+      <basic-container>
+        <el-form :model="form" ref="form" label-width="130px">
+          <el-row>
+            <el-col v-for="(item, index) in basicData.column" :span="item.span?item.span:6" :key="index">
+              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
+                <el-select v-else-if="item.type === 'select'" style="width: 100%" size="small" placeholder="请选择" clearable filterable></el-select>
+                <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col>
+              <el-form-item>
+                <el-button type="info" style="float: right" @click="">生成账单</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </basic-container>
+      <basic-container>
+        <avue-crud
+          ref="crud"
+          :data="data"
+          :option="optionTable"
+          :page.sync="page"
+          :table-loading="loading"
+          @row-del="rowDel"
+          @row-update="rowUpdate"
+          @row-save="rowSave"
+          @size-change="sizeChange"
+          @current-change="currentChange"
+          @search-change="searchChange"
+          @refresh-change="refreshChange"
+          @cell-dblclick="cellDblclick"
+          @on-load="getList"
+          @saveColumn="saveColumn"
+        >
+          <template slot="menuLeft">
+            <el-button type="success"
+                       size="small"
+                       icon="el-icon-plus"
+                       plain
+                       @click="">新增明细
+            </el-button>
+            <el-button type="primary"
+                       size="small"
+                       icon="el-icon-arrow-right"
+                       plain
+                       @click="">导 出
+            </el-button>
+            <el-button type="primary"
+                       size="small"
+                       plain
+                       @click="">打 印
+            </el-button>
+            <el-button type="success"
+                       size="small"
+                       icon="el-icon-plus"
+                       plain
+                       @click="">新 增
+            </el-button>
+            <el-button type="info"
+                       size="small"
+                       plain
+                       @click="">请 核
+            </el-button>
+          </template>
+        </avue-crud>
+      </basic-container>
+    </div>
+  </div>
+</template>
+
+<script>
+  import option from "./configuration/detailsPage.json";
+  export default {
+    data() {
+      return {
+        loading: false,
+        form:{},
+        data: [],
+        optionTable: option,
+        //顶部from数据
+        basicData: {
+          column: [
+            {
+              label: '系统编号',
+              prop: 'prop1',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '制单日期',
+              prop: 'prop2',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '制单人',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '项目代码',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '项目名称',
+              prop: 'prop4',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '客户名称',
+              prop: 'prop5',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '责任人',
+              prop: 'prop6',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '电话',
+              prop: 'prop7',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '承揽人',
+              prop: 'prop8',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '合同金额',
+              prop: 'prop8',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '预收金额',
+              prop: 'prop9',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '未收金额',
+              prop: 'prop10',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '开始日期',
+              prop: 'prop11',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '结束日期',
+              prop: 'prop12',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '收款方式',
+              prop: 'prop13',
+              type:'select',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '备注',
+              prop: 'prop8',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }
+          ],
+        },
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10
+        }
+      };
+    },
+    methods: {
+      //删除列表后面的删除按钮触发触发(row, index, done)
+      rowDel(row, index, done) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          // 数据回调进行刷新
+          done(row);
+        });
+      },
+      //修改时的修改按钮点击触发
+      rowUpdate(row, index, done, loading) {
+        setTimeout(() => {
+          this.$message.success("修改成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      //新增修改时保存触发
+      rowSave(row, done, loading) {
+        setTimeout(() => {
+          this.$message.success("保存成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      getList() {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          this.data = [
+            {
+              prop1: "食品许可",
+              prop2: "500",
+              prop3: "次",
+              prop4: "1",
+              prop5: "1500",
+              prop6: "1500",
+              prop7: "年",
+              prop8: "202202-1-1",
+              prop9: "效率高",
+              prop10: "商务部",
+              prop11: "老周",
+              prop12: "2021-1-1",
+              prop13: "2021-1-1",
+              prop14: "LOL",
+              prop15: "2021-1-1",
+              prop16: "LOL",
+              prop17: "2021-1-1"
+            }
+          ];
+          this.page.total = 1;
+        }, 1000);
+      },
+      searchChange(params, done) {
+        this.getList(this.page, params);
+        done();
+      },
+      sizeChange(val) {
+        this.page.pageSize = val;
+        this.getList();
+      },
+      currentChange(val) {
+        this.page.currentPage = val;
+        this.getList();
+      },
+      refreshChange() {
+        this.page.currentPage = 1;
+        this.getList();
+      },
+      cellDblclick(row, column, cell, event) {
+        console.log(row, column, cell, event);
+        this.$refs.crud.rowEdit(row);
+      },
+      saveColumn(row, column) {
+        console.log(row, column);
+      },
+      //返回主营项目列表
+      backToList(){
+        this.$router.$avueRouter.closeTag();
+        this.$router.push({
+          path: '/workManagement/main-items/list',
+          query: {}
+        });
+      }
+    }
+  };
+</script>
+
+<style scoped lang="scss">
+  .customer-head {
+    position: fixed;
+    top: 105px;
+    width: 100%;
+    margin-left: -10px;
+    height: 62px;
+    background: #ffffff;
+    box-shadow: 0 4px 12px 0px rgba(232, 232, 235, 1);
+    z-index: 999;
+  }
+
+  .customer-back {
+    cursor: pointer;
+    line-height: 62px;
+    font-size: 16px;
+    color: #323233;
+    font-weight: 400;
+  }
+</style>

+ 0 - 14
src/views/workManagement/main-items/detais.vue

@@ -1,14 +0,0 @@
-<template>
-  <basic-container> </basic-container>
-</template>
-
-<script>
-export default {
-  data() {
-    return {};
-  },
-  methods: {}
-};
-</script>
-
-<style></style>

+ 58 - 15
src/views/workManagement/main-items/list.vue

@@ -6,6 +6,9 @@
       :option="optionTable"
       :page.sync="page"
       :table-loading="loading"
+      @row-del="rowDel"
+      @row-update="rowUpdate"
+      @row-save="rowSave"
       @size-change="sizeChange"
       @current-change="currentChange"
       @search-change="searchChange"
@@ -14,8 +17,22 @@
       @on-load="getList"
       @saveColumn="saveColumn"
     >
-    <template slot="menu">
-      <el-button icon="el-icon-check" :size="size" type="text">详 情</el-button>
+      <template slot="menuLeft">
+        <el-button type="primary"
+                   size="small"
+                   icon="el-icon-arrow-right"
+                   plain
+                   @click="">导 出
+        </el-button>
+        <el-button type="success"
+                   size="small"
+                   icon="el-icon-plus"
+                   plain
+                   @click="">新 单
+        </el-button>
+      </template>
+    <template slot-scope="scope" slot="menu">
+      <el-button icon="el-icon-check"  size="small" type="text" @click.stop="beforeOpenPage(scope.row,scope.index)">详 情</el-button>
     </template>
     </avue-crud>
   </basic-container>
@@ -28,11 +45,12 @@ export default {
       loading: false,
       data: [],
       optionTable: {
+        addBtn:false,
         align: "center",
         menuAlign: "center",
         height: window.innerHeight - 345,
         searchMenuSpan: 12,
-        menuWidth: "140",
+        menuWidth: "220",
         index: true,
         column: [
           {
@@ -67,24 +85,18 @@ export default {
             label: "客户名称",
             prop: "prop3",
             search: true,
-            addDisplay: false,
-            editDisplay: false,
             overHidden: true,
             minWidth:'80'
           },
           {
             label: "应收金额",
             prop: "prop4",
-            addDisplay: false,
-            editDisplay: false,
             overHidden: true,
             minWidth:'80'
           },
           {
             label: "实收金额",
             prop: "prop5",
-            addDisplay: false,
-            editDisplay: false,
             overHidden: true,
             minWidth:'80'
           },
@@ -92,16 +104,12 @@ export default {
             label: "责任人",
             prop: "prop6",
             search: true,
-            addDisplay: false,
-            editDisplay: false,
             overHidden: true,
             minWidth:'80'
           },
           {
             label: "系统编号",
             prop: "prop7",
-            addDisplay: false,
-            editDisplay: false,
             overHidden: true,
             minWidth:'80'
           },
@@ -213,8 +221,36 @@ export default {
       this.page.currentPage = 1;
       this.getList();
     },
-    rowDel(row, index) {
-      this.$message.success("删除成功");
+    //删除列表后面的删除按钮触发触发(row, index, done)
+    rowDel(row, index, done) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        // 数据回调进行刷新
+        done(row);
+      });
+    },
+    //修改时的修改按钮点击触发
+    rowUpdate(row, index, done, loading) {
+      setTimeout(() => {
+        this.$message.success("修改成功");
+        loading();
+        done();
+      }, 1000);
+    },
+    //新增修改时保存触发
+    rowSave(row, done, loading) {
+      setTimeout(() => {
+        this.$message.success("保存成功");
+        loading();
+        done();
+      }, 1000);
     },
     cellDblclick(row, column, cell, event) {
       console.log(row, column, cell, event);
@@ -222,6 +258,13 @@ export default {
     },
     saveColumn(row, column) {
       console.log(row, column);
+    },
+    //打开详情页
+    beforeOpenPage(row,index){
+      this.$router.push({
+        path: "/mainItems_detailsPage",
+        query: {id: JSON.stringify(row.prop1)},
+      });
     }
   }
 };

+ 2 - 2
src/views/workManagement/receipt/configuration/settleAccounts.json

@@ -10,8 +10,8 @@
   "searchMenuSpan": 6,
   "tree": true,
   "selection": true,
-  "viewBtn": true,
-  "editBtn": true,
+  "viewBtn": false,
+  "editBtn": false,
   "delBtn": false,
   "menuWidth": 220,
   "column": [

+ 44 - 33
src/views/workManagement/receipt/settleAccounts.vue

@@ -19,9 +19,8 @@
                  ref="crud"
                  v-model="form"
                  :page.sync="page"
+                 :before-open="beforeOpen"
                  @row-del="rowDel"
-                 @row-update="rowUpdate"
-                 @row-save="rowSave"
                  @search-change="searchChange"
                  @search-reset="searchReset"
                  @selection-change="selectionChange"
@@ -32,26 +31,41 @@
         <template slot="menuLeft">
           <el-button type="primary"
                      size="small"
-                     icon="el-icon-upload2"
+                     icon="el-icon-arrow-right"
                      plain
-                     @click="handleDelete">导 出
+                     @click="">导 出
           </el-button>
           <el-button type="primary"
                      size="small"
-                     icon="el-icon-upload2"
                      plain
-                     @click="handleDelete">打 印
+                     @click="">打 印
           </el-button>
-          <el-button type="primary"
+          <el-button type="info"
                      size="small"
-                     icon="el-icon-upload2"
                      plain
-                     @click="handleDelete">请 核
+                     @click="">请 核
           </el-button>
         </template>
+        <template slot-scope="{row}" slot="querenshou">
+          <el-button type="primary"  size="small" @click="">结 算</el-button>
+        </template>
         <template slot-scope="scope" slot="menu">
           <el-button
             type="text"
+            icon="el-icon-view"
+            size="small"
+            @click.stop="beforeOpenPage(scope.row,scope.index)"
+          >查看
+          </el-button>
+          <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-edit"
             size="small"
             @click.stop="rowDel(scope.row,scope.index)"
@@ -201,6 +215,27 @@
 
     },
     methods: {
+      //新增时跳转页面
+      beforeOpen(row){
+        this.$router.push({
+          path: "/settleAccounts_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
+      //查看
+      beforeOpenPage(row){
+        this.$router.push({
+          path: "/settleAccounts_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
+      //修改
+      editOpen(row){
+        this.$router.push({
+          path: "/settleAccounts_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
       //删除列表后面的删除按钮触发触发(row, index, done)
       rowDel(row, index, done) {
         this.$confirm("确定将选择数据删除?", {
@@ -216,30 +251,6 @@
           done(row);
         });
       },
-      //修改时的修改按钮点击触发
-      rowUpdate(row, index, done, loading) {
-        this.$message({
-          type: "success",
-          message: "操作成功!"
-        });
-        done(row);
-      },
-      //新增修改时保存触发
-      rowSave(row, done, loading) {
-        setTimeout(() => {
-          this.$message.success("保存成功");
-          loading();
-          done();
-        }, 1000);
-      },
-      //新增子项触发
-      handleAdd(row) {
-        this.parentId = row.id;
-        const column = this.findObject(this.option.column, "parentId");
-        column.value = row.id;
-        column.addDisabled = true;
-        this.$refs.crud.rowAdd();
-      },
       //点击搜索按钮触发
       searchChange(params, done) {
         this.query = params;

+ 350 - 0
src/views/workManagement/receipt/settleAccountsEdit.vue

@@ -0,0 +1,350 @@
+<template>
+  <div class="borderless">
+    <div class="customer-head">
+      <div class="customer-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                   @click="backToList">返回列表
+        </el-button>
+      </div>
+      <el-button
+        class="el-button--small-yh add-customer-btn"
+        type="primary"
+        @click=""
+      >{{form.id?'确认修改':'确认新增'}}
+      </el-button>
+    </div>
+    <div style="margin-top: 60px">
+      <basic-container>
+        <el-form :model="form" ref="form" label-width="130px">
+          <el-row>
+            <el-col v-for="(item, index) in basicData.column" :span="item.span?item.span:6" :key="index">
+              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
+                <el-select v-else-if="item.type === 'select'" style="width: 100%" size="small" placeholder="请选择" clearable filterable></el-select>
+                <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </basic-container>
+    </div>
+  </div>
+</template>
+
+<script>
+  import option from "./configuration/settleAccounts.json";
+  export default {
+    data() {
+      return {
+        loading: false,
+        form:{},
+        data: [],
+        //顶部from数据
+        basicData:
+          {
+          column: [
+            {
+              label: '服务项目',
+              prop: 'prop1',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '收费建议',
+              prop: 'prop2',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '计价单位',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '数量',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '报价',
+              prop: 'prop4',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '合计金额',
+              prop: 'prop5',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '频率',
+              prop: 'prop6',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '提醒日',
+              prop: 'prop7',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '备注',
+              prop: 'prop8',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '任务部门',
+              prop: 'prop8',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '承做人',
+              prop: 'prop9',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '开始日期',
+              prop: 'prop10',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '需求完成日期',
+              prop: 'prop11',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '录入人',
+              prop: 'prop12',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '录入时间',
+              prop: 'prop13',
+              type:'select',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '最新修改人',
+              prop: 'prop8',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }
+          ],
+        },
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10
+        }
+      };
+    },
+    methods: {
+      //删除列表后面的删除按钮触发触发(row, index, done)
+      rowDel(row, index, done) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          // 数据回调进行刷新
+          done(row);
+        });
+      },
+      //修改时的修改按钮点击触发
+      rowUpdate(row, index, done, loading) {
+        setTimeout(() => {
+          this.$message.success("修改成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      //新增修改时保存触发
+      rowSave(row, done, loading) {
+        setTimeout(() => {
+          this.$message.success("保存成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      getList() {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          this.data = [
+            {
+              prop1: "食品许可",
+              prop2: "500",
+              prop3: "次",
+              prop4: "1",
+              prop5: "1500",
+              prop6: "1500",
+              prop7: "年",
+              prop8: "202202-1-1",
+              prop9: "效率高",
+              prop10: "商务部",
+              prop11: "老周",
+              prop12: "2021-1-1",
+              prop13: "2021-1-1",
+              prop14: "LOL",
+              prop15: "2021-1-1",
+              prop16: "LOL",
+              prop17: "2021-1-1"
+            }
+          ];
+          this.page.total = 1;
+        }, 1000);
+      },
+      searchChange(params, done) {
+        this.getList(this.page, params);
+        done();
+      },
+      sizeChange(val) {
+        this.page.pageSize = val;
+        this.getList();
+      },
+      currentChange(val) {
+        this.page.currentPage = val;
+        this.getList();
+      },
+      refreshChange() {
+        this.page.currentPage = 1;
+        this.getList();
+      },
+      cellDblclick(row, column, cell, event) {
+        console.log(row, column, cell, event);
+        this.$refs.crud.rowEdit(row);
+      },
+      saveColumn(row, column) {
+        console.log(row, column);
+      },
+      //返回主营项目列表
+      backToList(){
+        this.$router.$avueRouter.closeTag();
+        this.$router.push({
+          path: '/workManagement/receipt/settleAccounts',
+          query: {}
+        });
+      }
+    }
+  };
+</script>
+
+<style scoped lang="scss">
+  .customer-head {
+    position: fixed;
+    top: 105px;
+    width: 100%;
+    margin-left: -10px;
+    height: 62px;
+    background: #ffffff;
+    box-shadow: 0 4px 12px 0px rgba(232, 232, 235, 1);
+    z-index: 999;
+  }
+
+  .customer-back {
+    cursor: pointer;
+    line-height: 62px;
+    font-size: 16px;
+    color: #323233;
+    font-weight: 400;
+  }
+
+  .add-customer-btn {
+    position: fixed;
+    right: 36px;
+    top: 115px;
+  }
+</style>

+ 10 - 2
src/views/workManagement/service-items/project.vue

@@ -30,8 +30,16 @@
           @row-update="rowUpdate"
           @cell-dblclick="cellDblclick"
           @on-load="getList"
-          @saveColumn="saveColumn"
-        ></avue-crud>
+          @saveColumn="saveColumn">
+          <template slot="menuLeft">
+            <el-button type="primary"
+                       size="small"
+                       icon="el-icon-upload2"
+                       plain
+                       @click="handleDelete">导 出
+            </el-button>
+          </template>
+        </avue-crud>
       </basic-container>
     </el-col>
   </el-row>

+ 2 - 2
src/views/workManagement/task/configuration/mainList.json

@@ -10,8 +10,8 @@
   "searchMenuSpan": 6,
   "tree": true,
   "selection": true,
-  "viewBtn": true,
-  "editBtn": true,
+  "viewBtn": false,
+  "editBtn": false,
   "delBtn": false,
   "menuWidth": 280,
   "column": [

+ 41 - 30
src/views/workManagement/task/index.vue

@@ -5,9 +5,8 @@
                ref="crud"
                v-model="form"
                :page.sync="page"
+               :before-open="beforeOpen"
                @row-del="rowDel"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
                @search-change="searchChange"
                @search-reset="searchReset"
                @selection-change="selectionChange"
@@ -21,7 +20,7 @@
                    size="small"
                    icon="el-icon-upload2"
                    plain
-                   @click="handleDelete">导 入
+                   @click="">导 入
         </el-button>
       </template>
       <template slot-scope="scope" slot="menu">
@@ -29,14 +28,28 @@
           type="text"
           icon="el-icon-view"
           size="small"
-          @click.stop="beforeOpenPage(scope.row,scope.index)"
+          @click.stop="beforeOpenPage(scope.row)"
+        >查看
+        </el-button>
+        <el-button
+          type="text"
+          icon="el-icon-edit"
+          size="small"
+          @click.stop="editOpen(scope.row)"
+        >编辑
+        </el-button>
+        <el-button
+          type="text"
+          icon="el-icon-view"
+          size="small"
+          @click.stop=""
         >发送
         </el-button>
         <el-button
           type="text"
           icon="el-icon-edit"
           size="small"
-          @click.stop="editOpen(scope.row,scope.index)"
+          @click.stop=""
         >完工
         </el-button>
       </template>
@@ -68,6 +81,28 @@
 
     },
     methods: {
+      //新增
+      beforeOpen(row){
+        this.$router.push({
+          path: "/task_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
+      //查看
+      beforeOpenPage(row){
+        this.$router.push({
+          path: "/task_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
+      //修改
+      editOpen(row){
+        this.$router.push({
+          path: "/task_editPages",
+          query: {id: JSON.stringify(row.fwxm)},
+        });
+      },
+      //
       //删除列表后面的删除按钮触发触发(row, index, done)
       rowDel(row, index, done) {
         this.$confirm("确定将选择数据删除?", {
@@ -75,8 +110,6 @@
           cancelButtonText: "取消",
           type: "warning"
         }).then(() => {
-          return deleteDetails(row.id);
-        }).then(() => {
           this.$message({
             type: "success",
             message: "操作成功!"
@@ -85,29 +118,7 @@
           done(row);
         });
       },
-      //修改时的修改按钮点击触发
-      rowUpdate(row, index, done, loading) {
-        typeSave(row).then(() => {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          // 数据回调进行刷新
-          done(row);
-        }, error => {
-          window.console.log(error);
-          loading();
-        });
-      },
-      //新增修改时保存触发
-      rowSave(row, done, loading) {
-        typeSave(row).then(res => {
-          done()
-        }, error => {
-          window.console.log(error);
-          loading();
-        })
-      },
+
       //查询全部
       initData(){
         customerList().then(res => {

+ 327 - 0
src/views/workManagement/task/taskEdit.vue

@@ -0,0 +1,327 @@
+<template>
+  <div class="borderless">
+    <div class="customer-head">
+      <div class="customer-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+                   @click="backToList">返回列表
+        </el-button>
+      </div>
+      <el-button
+        class="el-button--small-yh add-customer-btn"
+        type="primary"
+        @click=""
+      >{{form.id?'确认修改':'确认新增'}}
+      </el-button>
+    </div>
+    <div style="margin-top: 60px">
+      <basic-container>
+        <el-form :model="form" ref="form" label-width="130px">
+          <el-row>
+            <el-col v-for="(item, index) in basicData.column" :span="item.span?item.span:6" :key="index">
+              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
+                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
+                <el-select v-else-if="item.type === 'select'" style="width: 100%" size="small" placeholder="请选择" clearable filterable></el-select>
+                <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </basic-container>
+    </div>
+  </div>
+</template>
+
+<script>
+
+  export default {
+    data() {
+      return {
+        loading: false,
+        form:{},
+        data: [],
+        //顶部from数据
+        basicData:
+          {
+          column: [
+            {
+              label: '项目代码',
+              prop: 'prop1',
+              rules: [
+                {
+                  required: false,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '项目名称',
+              prop: 'prop2',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '服务项目',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '下单时间',
+              prop: 'prop3',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '开始日期',
+              prop: 'prop4',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '需求完成日期',
+              prop: 'prop5',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '部门',
+              prop: 'prop6',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '备注',
+              prop: 'prop7',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '应收金额',
+              prop: 'prop8',
+              data: [],
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }, {
+              label: '任务责任人',
+              prop: 'prop8',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '客户名称',
+              prop: 'prop9',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '系统编号',
+              prop: 'prop10',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '状态',
+              prop: 'prop11',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '备注',
+              prop: 'prop12',
+              type:'datetime',
+              rules: [
+                {
+                  required: true,
+                  message: ' ',
+                  trigger: 'blur'
+                }
+              ]
+            }
+          ],
+        },
+        page: {
+          currentPage: 1,
+          total: 0,
+          pageSize: 10
+        }
+      };
+    },
+    methods: {
+      //删除列表后面的删除按钮触发触发(row, index, done)
+      rowDel(row, index, done) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          // 数据回调进行刷新
+          done(row);
+        });
+      },
+      //修改时的修改按钮点击触发
+      rowUpdate(row, index, done, loading) {
+        setTimeout(() => {
+          this.$message.success("修改成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      //新增修改时保存触发
+      rowSave(row, done, loading) {
+        setTimeout(() => {
+          this.$message.success("保存成功");
+          loading();
+          done();
+        }, 1000);
+      },
+      getList() {
+        this.loading = true;
+        setTimeout(() => {
+          this.loading = false;
+          this.data = [
+            {
+              prop1: "食品许可",
+              prop2: "500",
+              prop3: "次",
+              prop4: "1",
+              prop5: "1500",
+              prop6: "1500",
+              prop7: "年",
+              prop8: "202202-1-1",
+              prop9: "效率高",
+              prop10: "商务部",
+              prop11: "老周",
+              prop12: "2021-1-1",
+              prop13: "2021-1-1",
+              prop14: "LOL",
+              prop15: "2021-1-1",
+              prop16: "LOL",
+              prop17: "2021-1-1"
+            }
+          ];
+          this.page.total = 1;
+        }, 1000);
+      },
+      searchChange(params, done) {
+        this.getList(this.page, params);
+        done();
+      },
+      sizeChange(val) {
+        this.page.pageSize = val;
+        this.getList();
+      },
+      currentChange(val) {
+        this.page.currentPage = val;
+        this.getList();
+      },
+      refreshChange() {
+        this.page.currentPage = 1;
+        this.getList();
+      },
+      cellDblclick(row, column, cell, event) {
+        console.log(row, column, cell, event);
+        this.$refs.crud.rowEdit(row);
+      },
+      saveColumn(row, column) {
+        console.log(row, column);
+      },
+      //返回主营项目列表
+      backToList(){
+        this.$router.$avueRouter.closeTag();
+        this.$router.push({
+          path: '/workManagement/task/index',
+          query: {}
+        });
+      }
+    }
+  };
+</script>
+
+<style scoped lang="scss">
+  .customer-head {
+    position: fixed;
+    top: 105px;
+    width: 100%;
+    margin-left: -10px;
+    height: 62px;
+    background: #ffffff;
+    box-shadow: 0 4px 12px 0px rgba(232, 232, 235, 1);
+    z-index: 999;
+  }
+
+  .customer-back {
+    cursor: pointer;
+    line-height: 62px;
+    font-size: 16px;
+    color: #323233;
+    font-weight: 400;
+  }
+
+  .add-customer-btn {
+    position: fixed;
+    right: 36px;
+    top: 115px;
+  }
+</style>