caojunjie há 1 ano atrás
pai
commit
cea3d30bf0

+ 42 - 0
src/api/iosBasicData/bcommodity.js

@@ -0,0 +1,42 @@
+import request from '@/router/axios';
+
+export const bcommodityList = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/bcommodity/list',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+
+export const bcommodityDetail = (id) => {
+  return request({
+    url: '/api/blade-los/bcommodity/detail',
+    method: 'get',
+    params: {
+      id
+    }
+  })
+}
+
+export const bcommodityRemove = (ids) => {
+  return request({
+    url: '/api/blade-los/bcommodity/remove',
+    method: 'post',
+    params: {
+      ids,
+    }
+  })
+}
+
+export const bcommoditySubmit = (row) => {
+  return request({
+    url: '/api/blade-los/bcommodity/submit',
+    method: 'post',
+    data: row
+  })
+}
+

+ 4 - 0
src/enums/column-name.js

@@ -1286,6 +1286,10 @@ const columnName = [{
     name: '货运代理-基础资料-包装'
   },
   {
+    code: 290,
+    name: '货运代理-基础资料-货物'
+  },
+  {
     code: 293,
     name: '货运代理-基础资料-船名'
   },

+ 18 - 8
src/views/TaskKanban/index.vue

@@ -22,18 +22,26 @@
                @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 288)"
                @on-load="onLoad">
         <template slot-scope="scope" slot="tsInfo">
-            <span style="color: #1e9fff" @click="chakanfun(scope.row,scope.index)">{{scope.row.tsInfo}}</span>
+            <el-tooltip class="item" effect="dark" :content="scope.row.tsInfo" placement="top">
+                <div style="color: #1e9fff;width: 100px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"
+                     @click="chakanfun(scope.row,scope.index)">{{scope.row.tsInfo}}</div>
+            </el-tooltip>
         </template>
         <template slot-scope="scope" slot="isDateExceeded">
             <span :style="scope.row.isDateExceeded=='已超时'?'color: #de4a3b':'color: #65da78'">{{scope.row.isDateExceeded}}</span>
         </template>
+        <template slot-scope="scope" slot="remarks">
+            <el-tooltip class="item" effect="dark" :content="scope.row.remarks" placement="top">
+                <div style="width: 100px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{scope.row.remarks}}</div>
+            </el-tooltip>
+        </template>
         <template slot-scope="scope" slot="menuLeft">
             <el-button
                 type="primary"
                 @click.stop="rowAddfun(scope.row, scope.index)">添加任务
             </el-button>
             <div style="display: flex;align-items: center;margin-top: 10px">
-                <div class="bottomStatistics" style="background: #ffff00" @click="searchChangefun()">全部({{page.total}})</div>
+                <div class="bottomStatistics" style="background: #ffff00" @click="searchChangefun()">全部({{statistics.quantity}})</div>
                 <div class="bottomStatistics" style="background: #f8cbad" @click="searchChangefun({type:1})">待执行({{statistics.waitingQuantity}})</div>
                 <div class="bottomStatistics" style="background: #00b050" @click="searchChangefun({type:2})">执行中({{statistics.carryTheQuantity}})</div>
                 <div class="bottomStatistics" style="background: #ffe699" @click="searchChangefun({type:3})">已提交({{statistics.numberOfCommits}})</div>
@@ -101,7 +109,7 @@
 
       <div>
           <el-row :gutter="20">
-              <el-col :span="4" v-for="item in taskCompletionData" :key="item.id">
+              <el-col style="margin-top: 10px" :span="4" v-for="item in taskCompletionData" :key="item.id">
                   <el-card class="box-card">
                       <div slot="header" class="clearfix">
                           <span>{{item.userName}}</span>
@@ -233,6 +241,7 @@ import {dateFormat} from "@/util/date";
                 type: 'textarea',
                 span: 24,
                 minRows: 3,
+                width: 120,
               rules: [{
                 required: true,
                 message: "请输入任务信息",
@@ -349,6 +358,7 @@ import {dateFormat} from "@/util/date";
               label: "备注",
               prop: "remarks",
               type: 'textarea',
+                width: 140,
               span: 24,
               minRows: 3,
             },
@@ -362,8 +372,8 @@ import {dateFormat} from "@/util/date";
                       name: 'name',
                       res: 'data'
                   },
-                  listType:'picture-card',
-                  dataType:'string',
+                  // listType:'picture-card',
+                  // dataType:'string',
                   // dataType:'object',
                   // props: {
                   //     label: 'name',
@@ -518,7 +528,7 @@ import {dateFormat} from "@/util/date";
             this.findObject(this.option.column, "tsInfo").disabled = true
             this.findObject(this.option.column, "completionTime").disabled = true
             this.findObject(this.option.column, "isUrgency").disabled = true
-            this.findObject(this.option.column, "accessory").disabled = true
+            // this.findObject(this.option.column, "accessory").disabled = true
 
             this.findObject(this.option.column, "unfinishedCause").disabled = false
             this.findObject(this.option.column, "evaluate").disabled = false
@@ -527,7 +537,7 @@ import {dateFormat} from "@/util/date";
         },
         // 查看
         chakanfun(row,index) {
-            if (this.responsibleUserObj.createUser == row.createUser) {
+            if (this.responsibleUserObj.createUser == row.createUser || localStorage.getItem('roleName').indexOf('admin') != -1) {
                 this.findObject(this.option.column, "evaluate").display = true
             }else {
                 this.findObject(this.option.column, "evaluate").display = false
@@ -635,7 +645,7 @@ import {dateFormat} from "@/util/date";
                 this.findObject(this.option.column, "tsInfo").disabled = true
                 this.findObject(this.option.column, "completionTime").disabled = true
                 this.findObject(this.option.column, "isUrgency").disabled = true
-                this.findObject(this.option.column, "accessory").disabled = true
+                // this.findObject(this.option.column, "accessory").disabled = true
             }
             this.$refs.crud.rowEdit(row, index)
         },

+ 357 - 0
src/views/iosBasicData/bcommodity/index.vue

@@ -0,0 +1,357 @@
+<template>
+  <basic-container>
+    <avue-crud :option="option"
+               :table-loading="loading"
+               :data="data"
+               :page.sync="page"
+               :permission="permissionList"
+               :before-open="beforeOpen"
+               v-model="form"
+               ref="crud"
+               @row-update="rowUpdate"
+               @row-save="rowSave"
+               @row-del="rowDel"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 290)"
+               @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 290)"
+               @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="danger"
+                   size="small"
+                   icon="el-icon-delete"
+                   plain
+                   @click="handleDelete">删 除
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
+</template>
+
+<script>
+  import {bcommodityList, bcommodityDetail, bcommoditySubmit, bcommodityRemove} from "@/api/iosBasicData/bcommodity";
+  import {mapGetters} from "vuex";
+
+  export default {
+    data() {
+      return {
+        form: {},
+        query: {},
+        loading: true,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0
+        },
+        selectionList: [],
+        option:{},
+        optionBack: {
+          height:'auto',
+          calcHeight: 30,
+            labelWidth:100,
+          tip: false,
+          searchShow: true,
+          searchMenuSpan: 6,
+          border: true,
+          index: true,
+          viewBtn: true,
+          selection: true,
+          dialogClickModal: false,
+          column: [
+            {
+              label: "HS CODE",
+              prop: "hsCode",
+              rules: [{
+                required: true,
+                message: "请输入HS CODE(The Harmonization System Code)",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "中文名称",
+              prop: "cnName",
+              rules: [{
+                required: true,
+                message: "请输入中文名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "英文名称",
+              prop: "enName",
+              rules: [{
+                required: true,
+                message: "请输入英文名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "计量单位",
+              prop: "unitNo",
+              rules: [{
+                required: true,
+                message: "请输入计量单位",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "NCM CODE",
+              prop: "ncmCode",
+                width:100,
+              rules: [{
+                required: true,
+                message: "请输入NCM CODE(南美国家,巴西,南方共同市场通用命名)",
+                trigger: "blur"
+              }]
+            },
+            {
+              label: "版本",
+              prop: "version",
+                hide:true,
+                display:false,
+            },
+            {
+              label: "状态",
+              prop: "status",
+                type:'select',
+                dicData:[{
+                    label:'正常',
+                    value:0
+                },{
+                    label:'停用',
+                    value:1
+                }],
+            },
+            {
+              label: "是否已删除(0 否 1是)",
+              prop: "isDeleted",
+                hide:true,
+                display:false,
+            },
+              {
+                  label: "主键",
+                  prop: "id",
+                  hide:true,
+                  display:false,
+              },
+              {
+                  label: "创建人 Id",
+                  prop: "createUser",
+                  hide:true,
+                  display:false,
+              },
+              {
+                  label: "创建人",
+                  prop: "createUserName",
+                  display:false,
+              },
+              {
+                  label: "创建部门 Id",
+                  prop: "createDept",
+                  hide:true,
+                  display:false,
+              },
+              {
+                  label: "创建部门",
+                  prop: "createDeptName",
+                  display:false,
+              },
+              {
+                  label: "创建时间",
+                  prop: "createTime",
+                  width: 160,
+                  display:false,
+              },
+              {
+                  label: "修改人 Id",
+                  prop: "updateUser",
+                  hide:true,
+                  display:false,
+              },
+              {
+                  label: "修改人",
+                  prop: "updateUserName",
+                  display:false,
+              },
+              {
+                  label: "修改时间",
+                  prop: "updateTime",
+                  display:false,
+              },
+            {
+              label: "备注",
+              prop: "remarks",
+                type: 'textarea',
+                span: 24,
+                minRows: 3,
+            },
+          ]
+        },
+        data: []
+      };
+    },
+    computed: {
+      ...mapGetters(["permission"]),
+      permissionList() {
+        return {
+          // addBtn: this.vaildData(this.permission.bcommodity_add, false),
+          // viewBtn: this.vaildData(this.permission.bcommodity_view, false),
+          // delBtn: this.vaildData(this.permission.bcommodity_delete, false),
+          // editBtn: this.vaildData(this.permission.bcommodity_edit, false)
+        };
+      },
+      ids() {
+        let ids = [];
+        this.selectionList.forEach(ele => {
+          ids.push(ele.id);
+        });
+        return ids.join(",");
+      }
+    },
+    async created() {
+      this.option = await this.getColumnData(this.getColumnName(290), this.optionBack);
+    },
+    methods: {
+      rowSave(row, done, loading) {
+        bcommoditySubmit(row).then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
+        }, error => {
+          loading();
+          window.console.log(error);
+        });
+      },
+      rowUpdate(row, index, done, loading) {
+        bcommoditySubmit(row).then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
+        }, error => {
+          loading();
+          console.log(error);
+        });
+      },
+      rowDel(row) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            return bcommodityRemove(row.id);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+          });
+      },
+      handleDelete() {
+        if (this.selectionList.length === 0) {
+          this.$message.warning("请选择至少一条数据");
+          return;
+        }
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            return bcommodityRemove(this.ids);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$refs.crud.toggleSelection();
+          });
+      },
+      beforeOpen(done, type) {
+        if (["edit", "view"].includes(type)) {
+          bcommodityDetail(this.form.id).then(res => {
+            this.form = res.data.data;
+          });
+        }
+        done();
+      },
+      searchReset() {
+        this.query = {};
+        this.onLoad(this.page);
+      },
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done();
+      },
+      selectionChange(list) {
+        this.selectionList = list;
+      },
+      selectionClear() {
+        this.selectionList = [];
+        this.$refs.crud.toggleSelection();
+      },
+      currentChange(currentPage){
+        this.page.currentPage = currentPage;
+      },
+      sizeChange(pageSize){
+        this.page.pageSize = pageSize;
+      },
+      refreshChange() {
+        this.onLoad(this.page, this.query);
+      },
+      onLoad(page, params = {}) {
+        this.loading = true;
+        bcommodityList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+          const data = res.data.data;
+          this.page.total = data.total;
+          this.data = data.records;
+          this.loading = false;
+          this.selectionClear();
+        });
+      },
+        //自定义列保存
+        async saveColumnTwo(ref, option, optionBack, code) {
+            /**
+             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+             */
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumnTwo(ref, option, optionBack, code) {
+            this[option] = this[optionBack];
+            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+            if (inSave) {
+                this.$message.success("重置成功");
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        }
+
+    }
+  };
+</script>
+
+<style>
+</style>

+ 30 - 27
src/views/iosBasicData/bpackages/index.vue

@@ -28,15 +28,15 @@
                    @click="handleDelete">删 除
         </el-button>
       </template>
-        <template slot-scope="scope" slot="extendedData">
+        <template slot-scope="scope" slot="extendedDataArr">
             <span style="color: #1e9fff" @click="extendedDataview(scope.row)">
-                {{scope.row.extendedData.length}}
+                {{scope.row.extendedDataArr.length}}
             </span>
         </template>
-        <template slot-scope="{type,disabled,row}" slot="extendedDataForm">
+        <template slot-scope="{type,disabled,row}" slot="extendedDataArrForm">
             <el-button type="primary"
                        size="small"
-                       @click="dialogVisible = true">扩展数据
+                       @click="dialogVisible = true">EDI CODE
             </el-button>
         </template>
         <template slot-scope="scope" slot="menu">
@@ -52,7 +52,7 @@
     </avue-crud>
 
       <el-dialog
-          title="扩展数据"
+          title="EDI CODE"
           :visible.sync="dialogVisible"
           width="50%"
           append-to-body
@@ -66,7 +66,7 @@
                          @click="extendedDataAdd">新增
               </el-button>
               <el-table
-                  :data="form.extendedData"
+                  :data="form.extendedDataArr"
                   style="width: 100%">
                   <el-table-column
                       prop="name"
@@ -121,7 +121,7 @@
           dialogVisible:false,
 
         form: {
-            // extendedData:[]
+            extendedDataArr:[]
         },
         query: {},
         loading: true,
@@ -187,16 +187,17 @@
                 required: true,
                 message: "请输入换算率%",
                 trigger: "blur"
+              },{
+                  pattern:/[1-9]\d*.\d*|0\.\d*[1-9]\d*/,
+                  message:"请输入数字",
+                  trigger:'blur'
               }]
             },
             {
               label: "版本",
               prop: "version",
-              rules: [{
-                required: true,
-                message: "请输入版本",
-                trigger: "blur"
-              }]
+                hide:true,
+                display:false,
             },
             {
               label: "状态",
@@ -211,12 +212,14 @@
                 }],
             },
               {
-                  label: "扩展数据",
-                  prop: "extendedData",
+                  label: "EDI CODE",
+                  prop: "extendedDataArr",
+                  type:'tree',
                   formslot:true,
+                  dicData:[],
                   rules: [{
                       required: true,
-                      message: "请输入JSON 对象数组,用于不查询的扩展数据, 例如:[{name: key1, value: value1}]",
+                      message: "请输入EDI CODE",
                       trigger: "blur"
                   }]
               },
@@ -317,10 +320,10 @@
         // 扩展数据详情的---------------------------------------
         // 扩展数据添加
         extendedDataAdd(){
-            this.form.extendedData.map(item=>{
+            this.form.extendedDataArr.map(item=>{
                 item.edit = false
             })
-            this.form.extendedData.push({
+            this.form.extendedDataArr.push({
                 edit:true
             })
         },
@@ -330,11 +333,10 @@
         },
         // 扩展数据删除
         extendedDataDelete(index,row) {
-            this.form.extendedData.splice(index,1)
+            this.form.extendedDataArr.splice(index,1)
         },
         // 扩展数据表格点击查询详情
         extendedDataview(row){
-            console.log(row,338)
             this.form = row
             this.extendedDisabled = true
             this.dialogVisible = true
@@ -349,11 +351,11 @@
         },
         // 表格操作------------------------------------------------------------
       rowSave(row, done, loading) {
-          console.log(row,324)
-          row.extendedData.map(item=>{
+          row.extendedDataArr.map(item=>{
               delete item.edit
           })
-          row.extendedData = JSON.stringify(row.extendedData)
+          row.extendedData = JSON.stringify(row.extendedDataArr)
+          delete row.extendedDataArr
         bpackagesSubmit(row).then(() => {
           this.onLoad(this.page);
           this.$message({
@@ -367,6 +369,11 @@
         });
       },
       rowUpdate(row, index, done, loading) {
+          row.extendedDataArr.map(item=>{
+              delete item.edit
+          })
+          row.extendedData = JSON.stringify(row.extendedDataArr)
+          delete row.extendedDataArr
         bpackagesSubmit(row).then(() => {
           this.onLoad(this.page);
           this.$message({
@@ -464,11 +471,7 @@
         bpackagesList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
           const data = res.data.data;
           this.page.total = data.total;
-          this.data.map(item=>{
-              item.extendedData = item.extendedData?JSON.parse(item.extendedData):[]
-            return item
-          })
-          this.data = data.records;
+            this.data = data.records;
           this.loading = false;
           this.selectionClear();
         });