Browse Source

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

QuKatie 3 years ago
parent
commit
13efd4b79a

+ 9 - 0
src/api/approval/processConfig.js

@@ -57,3 +57,12 @@ export function getUserList(params) {
     params:{params}
   })
 }
+
+// 更改审批人
+export function changeApprove(url, data) {
+  return request({
+    url: url,
+    method: 'get',
+    params: data
+  })
+}

+ 2 - 1
src/api/basicData/commodityType.js

@@ -1,6 +1,6 @@
 import request from '@/router/axios';
 
-export const getList = (current, size, params, goodsTypeId) => {
+export const getList = (current, size, params, goodsTypeId, belongToCorpId) => {
     return request({
         url: '/api/blade-client/goodsdesc/descList',
         method: 'get',
@@ -9,6 +9,7 @@ export const getList = (current, size, params, goodsTypeId) => {
             current,
             size,
             goodsTypeId,
+            belongToCorpId
         }
     })
 }

+ 109 - 0
src/components/change-approve/main.vue

@@ -0,0 +1,109 @@
+<template>
+<!--  用于更换审批人(不知道其他人到时候用不用 现做成组件)-->
+  <el-dialog
+    v-dialogdrag
+    title="更换审批人"
+    :visible.sync="visible"
+    append-to-body
+    width="45%"
+    :close-on-click-modal="false"
+    :destroy-on-close="true"
+    :close-on-press-escape="false"
+    :before-close="closeDialog"
+  >
+    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+      <el-form-item label="审批人" prop="auditUserId">
+        <el-select
+          v-model="form.auditUserId"
+          clearable
+          filterable
+          size="small"
+          style="width: 100%"
+        >
+          <el-option
+            v-for="(item, index) in userOption"
+            :key="index"
+            :label="item.realName"
+            :value="item.id"
+            @change="getUserName"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+<!--      <el-form-item label="发送内容" prop="messageBody">-->
+<!--        <el-input type="textarea" v-model="form.messageBody" size="small" placeholder="请输入发送内容"></el-input>-->
+<!--      </el-form-item>-->
+    </el-form>
+
+    <span slot="footer" class="dialog-footer">
+      <el-button type="primary" @click="sendHandle">发送</el-button>
+      <el-button @click="closeDialog">取消</el-button>
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+import { getList } from "@/api/system/user";
+import { changeApprove } from "@/api/approval/processConfig"
+
+export default {
+  name: "main",
+  props: {
+    auditId: {
+      type: Number
+    },
+    url: {
+      type: String
+    },
+  },
+  data() {
+    return {
+      visible: false,
+      form: {
+        auditUserId: '',
+        // messageBody: null,
+      },
+      userOption: [],
+      rules: {
+        auditUserId: [{required: true, message: " ", trigger: "change"}],
+        // messageBody: [{required: true, message: " ", trigger: "blur"}],
+      },
+    }
+  },
+  created() {
+    getList().then(res => {
+      this.userOption = res.data.data.records;
+    })
+  },
+  methods: {
+    // 打开
+    init() {
+      this.visible = true;
+    },
+    closeDialog() {
+      this.visible = false;
+      this.form = {}
+      this.$refs.form.clearValidate();
+      this.$emit("closeDialog")
+    },
+    // 确认修改
+    sendHandle() {
+      this.$refs["form"].validate(valid => {
+        console.log(this.url)
+        if (valid) {
+          changeApprove(this.url, {...this.form, auditId: this.auditId}).then(res => {
+            this.closeDialog()
+            this.$router.$avueRouter.closeTag();
+            this.$router.push({path: `/approveData/index`});
+          })
+        }
+      })
+    },
+    getUserName() {
+    },
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 7 - 3
src/components/finance/financialAccount.vue

@@ -37,13 +37,14 @@
           </el-button>
         </template>
         <template slot-scope="{row,index}" slot="corpId">
-          <span v-if="row.$cellEdit" class="required_fields" style="float: left;line-height: 32px">*</span>
+          <span v-if="row.$cellEdit && category != 2" class="required_fields" style="float: left;line-height: 32px">*</span>
           <crop-select
-            v-if="row.$cellEdit"
+            v-if="row.$cellEdit && category != 2"
             v-model="corpId"
             corpType="KG"
             style="width: 100%"
           ></crop-select>
+          <span v-else>{{corpsName}}</span>
         </template>
         <template slot-scope="{row,index}" slot="costType">
           <span v-if="row.$cellEdit" class="required_fields">*</span>
@@ -93,7 +94,6 @@
           <span v-else>{{ row.currency }}</span>
         </template>
         <template slot-scope="{row,index}" slot="unit">
-          <span v-if="row.$cellEdit" class="required_fields">*</span>
           <el-select  v-if="row.$cellEdit" v-model="row.unit" size="small" style="width: 90%" placeholder="请选择" clearable filterable>
             <el-option v-for="(item,index) in unitDic" :key="index" :label="item.dictValue"  :value="item.dictValue"></el-option>
           </el-select>
@@ -166,6 +166,7 @@
       return {
         data: [],
         corpId:'',
+        corpsName: '',
         option:option,
         loading:false,
         submitButton:false,
@@ -223,10 +224,13 @@
       init(){
         if(this.arrList.length === 0){
           this.corpId = this.billData.corpId
+          this.corpsName = this.billData.corpsName[0].cname
           this.$refs.crud.rowCellAdd(this.billData);
         }else{
           this.billData = this.arrList[0]
           this.corpId = this.arrList[0].corpId
+          this.corpsName = this.arrList[0].corpsName[0].cname
+          console.log(this.billData)
           this.arrList.forEach(item=>{
             this.$refs.crud.rowCellAdd(item);
           })

+ 18 - 0
src/components/report-dialog/main.vue

@@ -120,6 +120,7 @@ export default {
       });
     },
     goReport(name) {
+      console.log(name)
       let tenantId = this.$store.getters.userInfo.tenant_id;
       if (this.reportName == "同海-统计列表") {
         this.$router.push({
@@ -161,6 +162,23 @@ export default {
           &brand=${this.searchValue.brand}
           &tenantId=${tenantId}`
         });
+      } else if (name == "国内贸易-客户确认.ureport.xml") {
+        this.$router.push({
+          path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}
+          &orgOrderNo=${this.searchValue.orgOrderNo}
+          &corpId=${this.searchValue.corpId}
+          &salesCompany=${this.searchValue.salesCompany}
+          &businessStartDate=${this.searchValue.businessStartDate}
+          &businessEndDate=${this.searchValue.businessEndDate}
+          &storageId=${this.searchValue.storageId}
+          &arrivalAddress=${this.searchValue.arrivalAddress}
+          &arrivalContact=${this.searchValue.arrivalContact}
+          &arrivalTel=${this.searchValue.arrivalTel}
+          &createUser=${this.searchValue.createUser}
+          &createTimeStart=${this.searchValue.createTimeStart}
+          &createTimeEnd=${this.searchValue.createTimeEnd}
+          &tenantId=${tenantId}`
+        });
       } else {
         let userId = JSON.parse(localStorage.getItem("saber-userInfo")).content
           .user_id;

+ 2 - 2
src/components/upload/index.vue

@@ -38,7 +38,7 @@
           :type="scope.type"
           @click="download(scope)"
           :disabled="disabled"
-          >下载附件
+          >查看
         </el-button>
         <el-button
           :type="scope.type"
@@ -47,7 +47,7 @@
           @click.stop="rowCell(scope.row, scope.index)"
           :disabled="disabled"
         >
-          {{ scope.row.$cellEdit ? "修改完成" : "修改" }}
+          {{ scope.row.$cellEdit ? "保存" : "修改" }}
         </el-button>
         <el-button
           :type="scope.type"

+ 3 - 0
src/main.js

@@ -46,6 +46,8 @@ import userCom from '@/components/selectComponent/userCom';
 import cropSelect from "@/components/crop-select/main";
 // 发送消息㢟
 import messagePost from "@/components/messageSend/main"
+// 更改审批人
+import changeApprove from "@/components/change-approve/main"
 //枚举列设置名称管理
 import {
   getColumnName
@@ -77,6 +79,7 @@ Vue.component('userCom', userCom);
 Vue.component('userSelect', userSelect);
 Vue.component('cropSelect', cropSelect);
 Vue.component('messagePost', messagePost);
+Vue.component('changeApprove', changeApprove)
 import portInfo from "@/components/port-info/index";
 Vue.component('portInfo', portInfo);
 // 注册全局crud驱动

+ 47 - 12
src/page/index/top/top-notice.vue

@@ -3,16 +3,21 @@
               width="350"
               trigger="click">
 
-    <el-tabs v-model="activeName" style="align-items: center">
-      <el-tab-pane label="消息"
-                   name="first">
+    <el-tabs v-model="activeName" style="align-items: center" @tab-click="tabsHandle">
+      <el-tab-pane label="未读"
+                   name="unread">
+      </el-tab-pane>
+      <el-tab-pane label="已读"
+                   name="read">
       </el-tab-pane>
     </el-tabs>
     <el-scrollbar style="height:300px">
       <avue-notice :data="data"
                    :option="option"
                    @click="goUrl"
-                   @page-change="pageChange">
+                   @page-change="pageChange"
+                   v-loading="loading"
+      >
       </avue-notice>
     </el-scrollbar>
     <div slot="reference">
@@ -29,7 +34,8 @@ export default {
   name: "top-notice",
   data () {
     return {
-      activeName: 'first',
+      activeName: 'unread',
+      intercept: 'unread',
       option: {
         props: {
           img: 'img',
@@ -40,9 +46,12 @@ export default {
         },
       },
       data: [],
+      unreadData: [], // 未读的
+      readData: [], // 已读的
       path:"",
       socket:"",
-      badge:''
+      badge:'',
+      loading: false
     }
   },
   created () {
@@ -61,8 +70,10 @@ export default {
   methods: {
     //初始化
     init(){
+      this.loading = true
       getMsgLogs().then(res=>{
         this.afterData(res.data.data)
+        this.loading = false
       })
       if(typeof(WebSocket) === "undefined"){
         alert("您的浏览器不支持socket")
@@ -119,20 +130,44 @@ export default {
     },
     afterData(data){
       if(data.length === 0 ) return this.data = []
-      this.data = data.map(item =>{
-        if(item.isRead == 0){
+      if (this.activeName == 'unread') {
+        this.unreadData = data.filter(item => item.isRead == 0)
+        this.unreadData.forEach(item => {
           item.tag = "未读"
           item.messageType = 1//状态  0 灰色  1 蓝色 2 橙色 3 红色 4 绿色
-        }else{
+        })
+        this.data = this.unreadData
+      } else {
+        this.readData = data.filter(item => item.isRead != 0)
+        this.readData.forEach(item => {
           item.tag = "已读"
           item.messageType = 0
-        }
-        return item
-      })
+        })
+        this.data = this.readData
+      }
+      // this.data = data.map(item =>{
+      //   if(item.isRead == 0){
+      //     item.tag = "未读"
+      //     item.messageType = 1//状态  0 灰色  1 蓝色 2 橙色 3 红色 4 绿色
+      //   }else{
+      //     item.tag = "已读"
+      //     item.messageType = 0
+      //   }
+      //   return item
+      // })
     },
     pageChange (page, done) {
 
     },
+    tabsHandle(data) {
+      if (this.intercept == data.name) return
+      this.intercept = data.name
+      this.loading = true;
+      getMsgLogs().then(res=>{
+        this.afterData(res.data.data)
+        this.loading = false;
+      })
+    }
   }
 };
 </script>

+ 3 - 3
src/views/basicData/customerInformation/configuration/customerContact.json

@@ -26,7 +26,7 @@
         }
       ]
     },{
-      "label": "名",
+      "label": "名",
       "prop": "cname",
       "index": 2,
       "width":200,
@@ -44,7 +44,7 @@
       "width":160,
       "rules": [
         {
-          "required": true,
+          "required": false,
           "message": "请输入联系方式",
           "trigger": "blur"
         }
@@ -106,7 +106,7 @@
       ]
     },
     {
-      "label": "位",
+      "label": "位",
       "prop": "positoin",
       "index": 7,
       "width":180,

+ 8 - 147
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -87,7 +87,7 @@
                   v-else-if="item.prop === 'corpId'"
                   v-model="form[item.prop]"
                   corpType="KH"
-                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
+                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled || form.srcOrderNo"
                   style="width: 100%"
                   @getCorpData="returnBack"
                 ></crop-select>
@@ -239,111 +239,11 @@
           @beforeFinance="beforeFinance"
           :corpId="form.corpId"
         />
-<!--        <containerTitle title="费用明细"></containerTitle>-->
-<!--        <basic-container style="margin-bottom: 10px">-->
-<!--          <avue-crud-->
-<!--              :option="advantageProject"-->
-<!--              v-model="advantageProjectForm"-->
-<!--              :data="advantageProjectData"-->
-<!--              ref="crudProject"-->
-<!--              @row-save="rowSaveProject"-->
-<!--              @row-update="rowUpdateProject"-->
-<!--              @row-del="rowDelProject"-->
-<!--              @saveColumn="saveColumn('fees')"-->
-<!--          >-->
-<!--            <template slot="code" slot-scope="{row,index}">-->
-<!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="choice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit">选择</el-button>-->
-<!--              <span>{{ row.code }}</span>-->
-<!--            </template>-->
-<!--            <template slot="corpId" slot-scope="{ row }">-->
-<!--              <selectComponent v-if="row.$cellEdit" v-model="row.corpId"-->
-<!--                               :configuration="configuration" @receiveList="receiveList"/>-->
-<!--              <span v-else>-->
-<!--                <span v-for="item in configuration.dicData" v-if="item.id == row.corpId">{{ item.cname }}</span>-->
-<!--              </span>-->
-<!--            </template>-->
-<!--            <template slot="amount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.amount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.amount }}</span>-->
-<!--            </template>-->
-<!--            <template slot="settlmentAmount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.settlmentAmount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.settlmentAmount }}</span>-->
-<!--            </template>-->
-<!--            <template slot-scope="{row,index}" slot="menu">-->
-<!--              <el-button-->
-<!--                  type="text"-->
-<!--                  size="small"-->
-<!--                  @click="rowCellTwo(row,index)"-->
-<!--                  :disabled="detailData.seeDisabled"-->
-<!--              >{{ row.$cellEdit ? '保存' : '修改' }}-->
-<!--              </el-button>-->
-<!--              <el-button-->
-<!--                size="small"-->
-<!--                icon="el-icon-delete"-->
-<!--                type="text"-->
-<!--                @click="rowDelProject(row, index)"-->
-<!--                :disabled="detailData.seeDisabled"-->
-<!--                v-if="!row.$cellEdit"-->
-<!--              >删 除</el-button>-->
-<!--            </template>-->
-<!--            <template slot="menuLeft" slot-scope="{size}">-->
-<!--              <el-button type="primary"-->
-<!--                         icon="el-icon-plus"-->
-<!--                         size="small"-->
-<!--                         @click="costIncrease"-->
-<!--                         :disabled="detailData.seeDisabled"-->
-<!--              >录入明细-->
-<!--              </el-button>-->
-<!--            </template>-->
-<!--          </avue-crud>-->
-<!--        </basic-container>-->
         <containerTitle title="附件上传"></containerTitle>
-        <basic-container style="margin-bottom: 40px">
-          <avue-crud
-              :option="bankOfDeposit"
-              v-model="bankOfDepositForm"
-              :data="bankOfDepositData"
-              @row-save="rowSaveBankOfDeposit"
-              @row-update="rowUpdateBankOfDeposit"
-              @row-del="rowDelBankOfDeposit"
-              :upload-after="uploadAfter"
-              ref="uploadCrud"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="small"
-                @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-              >上传</el-button
-              >
-            </template>
-            <template slot="menu" slot-scope="{ row, index }">
-              <el-button
-                size="small"
-                icon="el-icon-edit"
-                type="text"
-                @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-              >编 辑</el-button
-              >
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
-              >删 除</el-button
-              >
-            </template>
-          </avue-crud>
-        </basic-container>
+        <c-upload
+          :data="bankOfDepositData"
+          deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
+        />
       </el-form>
     </div>
     <el-dialog
@@ -686,6 +586,7 @@ export default {
           },{
             label: '匹配订单号',
             prop: 'srcOrderNo',
+            disabled:true,
             rules: [
               {
                 required: false,
@@ -951,6 +852,8 @@ export default {
       delete this.form.sysNo
       this.$set(this.form, 'deliveryStatus', '录入')
       this.$set(this.form, 'srcOrderNo', this.form.orgOrderNo)
+      this.$set(this.form, 'arrivalContact', this.form.corpAttn)
+      this.$set(this.form, 'arrivalTel', this.form.corpTel)
       this.form.orderItemsList.forEach(item => {
         this.$set(item, 'contractNumber', this.form.orgOrderNo)
       })
@@ -1555,48 +1458,6 @@ export default {
         }
       })
     },
-    //新增附件上传保存触发
-    rowSaveBankOfDeposit(row, done, loading) {
-      this.bankOfDepositData.push(row)
-      done()
-    },
-    //修改附件上传触发
-    rowUpdateBankOfDeposit(row, index, done, loading) {
-      done(row);
-    },
-    //删除附件上传触发
-    rowDelBankOfDeposit(row, index, donerowDel) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        //附件判断是否需要调用删除接口
-        if (row.id) {
-          corpsbank(row.id).then(res => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.bankOfDepositData.splice(index, 1);
-          })
-        } else {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.bankOfDepositData.splice(index, 1);
-        }
-      })
-    },
-    uploadAfter(res, done) {
-      if (res.originalName) {
-        this.bankOfDepositForm.fileName = this.bankOfDepositForm.fileName
-          ? this.bankOfDepositForm.fileName
-          : res.originalName;
-      }
-      done();
-    },
     // 去重
     removeRepeat() {
       let obj = []

+ 37 - 2
src/views/businessManagement/deliveryNotice/index.vue

@@ -27,7 +27,8 @@
                  :cell-style="cellStyle">
         <template slot="menuLeft" slot-scope="{size}">
           <el-button type="success" :size="size" @click="copyOrder" :disabled="single">复制单据</el-button>
-          <el-button type="info" :size="size" icon="el-icon-printer">报 表</el-button>
+          <el-button type="info" :size="size" icon="el-icon-printer":loading="exportLoading"
+                     @click.stop="statement">报 表</el-button>
         </template>
         <template slot-scope="scope" slot="orgOrderNo">
           <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.orgOrderNo }}</span>
@@ -87,6 +88,12 @@
       :detailData="detailData"
       v-if="!isShow"
     ></detail-page>
+    <report-dialog
+      :switchDialog="switchDialog"
+      :searchValue="statementData"
+      reportName="国内贸易-客户确认"
+      @onClose="onClose()"
+    ></report-dialog>
   </div>
 </template>
 
@@ -95,11 +102,13 @@ import option from "./configuration/mainList.json";
 import {customerList, typeSave, deleteDetails} from "@/api/basicData/deliveryNotice"
 import detailPage from "./detailsPageEdit";
 import { defaultDate } from "@/util/date";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "customerInformation",
   components: {
-    detailPage
+    detailPage,
+    reportDialog
   },
   data() {
     return {
@@ -136,6 +145,9 @@ export default {
       selection: [],
       isShow: true,
       detailData: {},
+      switchDialog: false, // 报表弹窗
+      exportLoading:false,
+      statementData: {},
     }
   },
   async created() {
@@ -441,6 +453,29 @@ export default {
         this.$refs.crud.$refs.dialogColumn.columnBox = false;
       }
     },
+    statement() {
+      this.statementData = {...this.search}
+      if (this.statementData.createTime && this.statementData.createTime != '')  {
+        this.statementData.createTimeStart = this.statementData.createTime[0]+ " " + "00:00:00"
+        this.statementData.createTimeEnd = this.statementData.createTime[1]+ " " + "23:59:59"
+      } else {
+        this.statementData.createTimeStart = ""
+        this.statementData.createTimeEnd = ""
+      }
+      if (this.statementData.businessDate && this.statementData.businessDate != '')  {
+        this.statementData.businessStartDate = this.statementData.businessDate[0]+ " " + "00:00:00"
+        this.statementData.businessEndDate = this.statementData.businessDate[1]+ " " + "23:59:59"
+      } else {
+        this.statementData.businessStartDate = ""
+        this.statementData.businessEndDate = ""
+      }
+      this.$delete(this.statementData,'createTime')
+      this.$delete(this.statementData,'businessDate')
+      this.switchDialog = !this.switchDialog;
+    },
+    onClose(val) {
+      this.switchDialog = val;
+    },
   }
 }
 </script>

+ 26 - 159
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -16,19 +16,6 @@
           style="margin-right: 8px"
           :loading="saveLoading"
         >编 辑</el-button>
-<!--        <el-dropdown style="margin-right: 8px;">-->
-<!--          <el-button-->
-<!--            type="primary"-->
-<!--            size="small"-->
-<!--          >-->
-<!--            审核处理<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i>-->
-<!--          </el-button>-->
-<!--          <el-dropdown-menu slot="dropdown">-->
-<!--            <el-dropdown-item :disabled="!form.id || form.status > 0" @click.native="pleaseCheck">请核数据</el-dropdown-item>-->
-<!--            <el-dropdown-item v-if="form.status > 0" @click.native="checkScheduleDialog = true,checkId=form.id">审核进度</el-dropdown-item>-->
-<!--            <el-dropdown-item v-if="false">撤销请核</el-dropdown-item>-->
-<!--          </el-dropdown-menu>-->
-<!--        </el-dropdown>-->
         <el-dropdown style="margin-right: 8px;">
           <el-button
             type="warning"
@@ -55,6 +42,11 @@
             </el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
+        <el-button type="primary"
+                   size="small"
+                   :disabled="detailData.seeDisabled || !form.id"
+                   @click="postMessage"
+        >发送消息</el-button>
         <el-button
           size="small"
           class="el-button--small-yh"
@@ -251,111 +243,11 @@
           @beforeFinance="beforeFinance"
           :corpId="form.corpId"
         />
-<!--        <containerTitle title="费用明细"></containerTitle>-->
-<!--        <basic-container style="margin-bottom: 10px">-->
-<!--          <avue-crud-->
-<!--              :option="advantageProject"-->
-<!--              v-model="advantageProjectForm"-->
-<!--              :data="advantageProjectData"-->
-<!--              ref="crudProject"-->
-<!--              @row-save="rowSaveProject"-->
-<!--              @row-update="rowUpdateProject"-->
-<!--              @row-del="rowDelProject"-->
-<!--              @saveColumn="saveColumn('fees')"-->
-<!--          >-->
-<!--            <template slot="code" slot-scope="{row,index}">-->
-<!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="choice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit">选择</el-button>-->
-<!--              <span>{{ row.code }}</span>-->
-<!--            </template>-->
-<!--            <template slot="corpId" slot-scope="{ row }">-->
-<!--              <selectComponent v-if="row.$cellEdit" v-model="row.corpId"-->
-<!--                               :configuration="configuration" @receiveList="receiveList" typeData="GYS"/>-->
-<!--              <span v-else>-->
-<!--                <span v-for="item in configuration.dicData" v-if="item.id == row.corpId">{{ item.cname }}</span>-->
-<!--              </span>-->
-<!--            </template>-->
-<!--            <template slot="amount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.amount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.amount }}</span>-->
-<!--            </template>-->
-<!--            <template slot="settlmentAmount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.settlmentAmount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.settlmentAmount }}</span>-->
-<!--            </template>-->
-<!--            <template slot-scope="{row,index}" slot="menu">-->
-<!--              <el-button-->
-<!--                  type="text"-->
-<!--                  size="small"-->
-<!--                  @click="rowCellTwo(row,index)"-->
-<!--                  :disabled="detailData.seeDisabled"-->
-<!--              >{{ row.$cellEdit ? '保存' : '修改' }}-->
-<!--              </el-button>-->
-<!--              <el-button-->
-<!--                size="small"-->
-<!--                icon="el-icon-delete"-->
-<!--                type="text"-->
-<!--                @click="rowDelProject(row, index)"-->
-<!--                :disabled="detailData.seeDisabled"-->
-<!--                v-if="!row.$cellEdit"-->
-<!--              >删 除</el-button>-->
-<!--            </template>-->
-<!--            <template slot="menuLeft" slot-scope="{size}">-->
-<!--              <el-button type="primary"-->
-<!--                         icon="el-icon-plus"-->
-<!--                         size="small"-->
-<!--                         @click="costIncrease"-->
-<!--                         :disabled="detailData.seeDisabled"-->
-<!--              >录入明细-->
-<!--              </el-button>-->
-<!--            </template>-->
-<!--          </avue-crud>-->
-<!--        </basic-container>-->
         <containerTitle title="附件上传"></containerTitle>
-        <basic-container style="margin-bottom: 40px">
-          <avue-crud
-              :option="bankOfDeposit"
-              v-model="bankOfDepositForm"
-              :data="bankOfDepositData"
-              @row-save="rowSaveBankOfDeposit"
-              @row-update="rowUpdateBankOfDeposit"
-              @row-del="rowDelBankOfDeposit"
-              :upload-after="uploadAfter"
-              ref="uploadCrud"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="small"
-                @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled"
-              >上传</el-button
-              >
-            </template>
-            <template slot="menu" slot-scope="{ row, index }">
-              <el-button
-                size="small"
-                icon="el-icon-edit"
-                type="text"
-                @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled"
-              >编 辑</el-button
-              >
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled"
-              >删 除</el-button
-              >
-            </template>
-          </avue-crud>
-        </basic-container>
+        <c-upload
+          :data="bankOfDepositData"
+          deleteUrl="/api/trade-purchase/purchase-order/removeByFiles"
+        />
       </el-form>
     </div>
     <el-dialog
@@ -569,6 +461,11 @@
       >
       </check-schedule>
     </el-dialog>
+    <messagePost
+      v-if="messageVisble"
+      ref="messagePost"
+      @closeDialog="closeDialog"
+    ></messagePost>
   </div>
 </template>
 
@@ -915,6 +812,7 @@ export default {
       batchNo:'',
       feesOption: [],
       applyPaymentList: [],
+      messageVisble: false,
     }
   },
   mounted() {
@@ -1452,48 +1350,7 @@ export default {
         }
       })
     },
-    //新增附件上传保存触发
-    rowSaveBankOfDeposit(row, done, loading) {
-      this.bankOfDepositData.push(row)
-      done()
-    },
-    //修改附件上传触发
-    rowUpdateBankOfDeposit(row, index, done, loading) {
-      done(row);
-    },
-    //删除附件上传触发
-    rowDelBankOfDeposit(row, index, donerowDel) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        //附件判断是否需要调用删除接口
-        if (row.id) {
-          corpsbank(row.id).then(res => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.bankOfDepositData.splice(index, 1);
-          })
-        } else {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.bankOfDepositData.splice(index, 1);
-        }
-      })
-    },
-    uploadAfter(res, done) {
-      if (res.originalName) {
-        this.bankOfDepositForm.fileName = this.bankOfDepositForm.fileName
-          ? this.bankOfDepositForm.fileName
-          : res.originalName;
-      }
-      done();
-    },
+
     // 计算费用
     changeContractAmt(row) {
       let orderQuantity = 0;
@@ -1885,6 +1742,16 @@ export default {
     getGSName(row) {
       this.form.belongCompany = row.cname
     },
+    // 发送消息
+    postMessage() {
+      this.messageVisble = true
+      this.$nextTick(() => {
+        this.$refs.messagePost.init()
+      })
+    },
+    closeDialog() {
+      this.messageVisble = false
+    },
   }
 }
 </script>

+ 4 - 146
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -174,111 +174,11 @@
           feeUrl="/blade-deliver-goods/deliveryfees/update"
           :corpId="form.corpId"
         />
-<!--        <containerTitle title="费用明细"></containerTitle>-->
-<!--        <basic-container style="margin-bottom: 10px">-->
-<!--          <avue-crud-->
-<!--              :option="advantageProject"-->
-<!--              v-model="advantageProjectForm"-->
-<!--              :data="advantageProjectData"-->
-<!--              ref="crudProject"-->
-<!--              @row-save="rowSaveProject"-->
-<!--              @row-update="rowUpdateProject"-->
-<!--              @row-del="rowDelProject"-->
-<!--              @saveColumn="saveColumn('fees')"-->
-<!--          >-->
-<!--            <template slot="code" slot-scope="{row,index}">-->
-<!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="choice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit">选择</el-button>-->
-<!--              <span>{{ row.code }}</span>-->
-<!--            </template>-->
-<!--            <template slot="corpId" slot-scope="{ row }">-->
-<!--              <selectComponent v-if="row.$cellEdit" v-model="row.corpId"-->
-<!--                               :configuration="configuration" @receiveList="receiveList"/>-->
-<!--              <span v-else>-->
-<!--                <span v-for="(item, index) in configuration.dicData" :key="index" v-if="item.id == row.corpId">{{ item.cname }}</span>-->
-<!--              </span>-->
-<!--            </template>-->
-<!--            <template slot="amount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.amount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.amount }}</span>-->
-<!--            </template>-->
-<!--            <template slot="settlmentAmount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.settlmentAmount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.settlmentAmount }}</span>-->
-<!--            </template>-->
-<!--            <template slot-scope="{row,index}" slot="menu">-->
-<!--              <el-button-->
-<!--                  type="text"-->
-<!--                  size="small"-->
-<!--                  @click="rowCellTwo(row,index)"-->
-<!--                  :disabled="detailData.seeDisabled"-->
-<!--              >{{ row.$cellEdit ? '保存' : '修改' }}-->
-<!--              </el-button>-->
-<!--              <el-button-->
-<!--                size="small"-->
-<!--                icon="el-icon-delete"-->
-<!--                type="text"-->
-<!--                @click="rowDelProject(row, index)"-->
-<!--                :disabled="detailData.seeDisabled"-->
-<!--                v-if="!row.$cellEdit"-->
-<!--              >删 除</el-button>-->
-<!--            </template>-->
-<!--            <template slot="menuLeft" slot-scope="{size}">-->
-<!--              <el-button type="primary"-->
-<!--                         icon="el-icon-plus"-->
-<!--                         size="small"-->
-<!--                         @click="costIncrease"-->
-<!--                         :disabled="detailData.seeDisabled"-->
-<!--              >录入明细-->
-<!--              </el-button>-->
-<!--            </template>-->
-<!--          </avue-crud>-->
-<!--        </basic-container>-->
         <containerTitle title="附件上传"></containerTitle>
-        <basic-container style="margin-bottom: 40px">
-          <avue-crud
-              :option="bankOfDeposit"
-              v-model="bankOfDepositForm"
-              :data="bankOfDepositData"
-              @row-save="rowSaveBankOfDeposit"
-              @row-update="rowUpdateBankOfDeposit"
-              @row-del="rowDelBankOfDeposit"
-              :upload-after="uploadAfter"
-              ref="uploadCrud"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="small"
-                @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled || receiveDisabled"
-              >上传</el-button
-              >
-            </template>
-            <template slot="menu" slot-scope="{ row, index }">
-              <el-button
-                size="small"
-                icon="el-icon-edit"
-                type="text"
-                @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled || receiveDisabled"
-              >编 辑</el-button
-              >
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled || receiveDisabled"
-              >删 除</el-button
-              >
-            </template>
-          </avue-crud>
-        </basic-container>
+        <c-upload
+          :data="bankOfDepositData"
+          deleteUrl="/api/blade-deliver-goods/deliveryfiles/update"
+        />
       </el-form>
     </div>
     <el-dialog
@@ -1207,48 +1107,6 @@ export default {
         }
       })
     },
-    //新增附件上传保存触发
-    rowSaveBankOfDeposit(row, done, loading) {
-      this.bankOfDepositData.push(row)
-      done()
-    },
-    //修改附件上传触发
-    rowUpdateBankOfDeposit(row, index, done, loading) {
-      done(row);
-    },
-    //删除附件上传触发
-    rowDelBankOfDeposit(row, index, donerowDel) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        //附件判断是否需要调用删除接口
-        if (row.id) {
-          corpsbank(row.id).then(res => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.bankOfDepositData.splice(index, 1);
-          })
-        } else {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.bankOfDepositData.splice(index, 1);
-        }
-      })
-    },
-    uploadAfter(res, done) {
-      if (res.originalName) {
-        this.bankOfDepositForm.fileName = this.bankOfDepositForm.fileName
-          ? this.bankOfDepositForm.fileName
-          : res.originalName;
-      }
-      done();
-    },
     // 去重
     removeRepeat() {
       let obj = []

+ 26 - 12
src/views/businessManagement/salesOrder/configuration/customerContact.json

@@ -104,7 +104,7 @@
     },{
       "label": "规格型号",
       "prop": "typeno",
-      "index": 4,
+      "index": 3,
       "width":150,
       "cell": false,
       "overHidden": true,
@@ -116,9 +116,23 @@
         }
       ]
     },{
+      "label": "花纹",
+      "prop": "brandItem",
+      "index": 4,
+      "width":150,
+      "cell": false,
+      "overHidden": true,
+      "rules": [
+        {
+          "required": false,
+          "message": "请输入花纹",
+          "trigger": "blur"
+        }
+      ]
+    },{
       "label": "供应商",
       "prop": "corpId",
-      "index": 4,
+      "index": 5,
       "width":250,
       "cell": false,
       "slot": true,
@@ -133,7 +147,7 @@
     },{
       "label": "质量胎",
       "prop": "shopQuality",
-      "index": 4,
+      "index": 6,
       "width":140,
       "cell": false,
       "slot": true,
@@ -148,7 +162,7 @@
     },{
       "label": "订货数量",
       "prop": "orderQuantity",
-      "index": 5,
+      "index": 7,
       "width":100,
       "cell": false,
       "slot": true,
@@ -163,7 +177,7 @@
     },{
       "label": "发货数量",
       "prop": "actualQuantity",
-      "index": 6,
+      "index": 8,
       "width":100,
       "cell": false,
       "slot": true,
@@ -178,7 +192,7 @@
     },{
       "label": "库存",
       "prop": "storageQuantity",
-      "index": 6,
+      "index": 9,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -193,7 +207,7 @@
     {
       "label": "采购价格",
       "prop": "purchaseAmount",
-      "index": 6,
+      "index": 10,
       "width":100,
       "cell": false,
       "slot": true,
@@ -208,10 +222,10 @@
     },{
       "label": "最新单价",
       "prop": "price",
-      "index": 6,
+      "index": 11,
       "width":100,
       "cell": false,
-      "slot": true,
+      "slot": false,
       "overHidden": true,
       "rules": [
         {
@@ -223,7 +237,7 @@
     },{
       "label": "金额",
       "prop": "amount",
-      "index": 6,
+      "index": 12,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -238,7 +252,7 @@
     {
       "label": "积分倍数",
       "prop": "integralMultiples",
-      "index": 6,
+      "index": 13,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -253,7 +267,7 @@
     {
       "label": "赠送积分",
       "prop": "integral",
-      "index": 6,
+      "index": 14,
       "width":100,
       "cell": false,
       "overHidden": true,

+ 137 - 170
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -26,6 +26,7 @@
             <el-dropdown-item :disabled="browse" @click.native="pleaseCheck">请核数据</el-dropdown-item>
             <el-dropdown-item v-if="form.status > 0" @click.native="checkScheduleDialog = true,checkId=form.id">审核进度</el-dropdown-item>
             <el-dropdown-item v-if="false">撤销请核</el-dropdown-item>
+            <el-dropdown-item v-if="checkDisabled" @click.native="changeApproveOpen">特殊审批</el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
         <el-dropdown style="margin-right: 8px;">
@@ -148,6 +149,18 @@
                            :disabled="detailData.seeDisabled || browse">
                   <el-option v-for="(item,index) in bankList" :key="index" :label="item.accountNo" :value="item.accountNo"></el-option>
                 </el-select>
+                <el-select v-else-if="item.prop === 'corpAttn'"
+                           v-model="form[item.prop]" placeholder="请选择"
+                           clearable
+                           filterable
+                           allow-create
+                           default-first-option
+                           size="small"
+                           style="width: 100%;"
+                           @change="corpAttnChange"
+                           :disabled="detailData.seeDisabled || browse">
+                  <el-option v-for="(item,index) in khInfoList" :key="index" :label="item.cname" :value="item.id"></el-option>
+                </el-select>
                 <el-input
                   v-else-if="item.type == 'number'"
                   placeholder="请输入"
@@ -282,7 +295,7 @@
             </template>
             <template slot="price" slot-scope="{ row }">
               <el-select
-                v-if="row.$cellEdit"
+                v-if="false"
                 v-model="row.price"
                 @focus="getMarketPrice(row)"
                 @input="priceChange(row)"
@@ -377,12 +390,6 @@
                          v-show="goodsActives == 'goods'"
               >报 表</el-button>
               <el-button
-                type="info"
-                size="small"
-                v-show="goodsActives == 'goods'"
-                @click="exportHandle"
-              >导 出</el-button>
-              <el-button
                 type="primary"
                 size="small"
                 icon="el-icon-download"
@@ -423,110 +430,12 @@
           :corpId="form.corpId"
           :financeDisabled="false"
         />
-<!--        <containerTitle title="费用明细"></containerTitle>-->
-<!--        <basic-container style="margin-bottom: 10px">-->
-<!--          <avue-crud-->
-<!--              :option="advantageProject"-->
-<!--              v-model="advantageProjectForm"-->
-<!--              :data="advantageProjectData"-->
-<!--              ref="crudProject"-->
-<!--              @row-save="rowSaveProject"-->
-<!--              @row-update="rowUpdateProject"-->
-<!--              @row-del="rowDelProject"-->
-<!--              @saveColumn="saveColumn('fees')"-->
-<!--          >-->
-<!--            <template slot="code" slot-scope="{row,index}">-->
-<!--              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="choice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit">选择</el-button>-->
-<!--              <span>{{ row.code }}</span>-->
-<!--            </template>-->
-<!--            <template slot="corpId" slot-scope="{ row }">-->
-<!--              <selectComponent v-if="row.$cellEdit" v-model="row.corpId"-->
-<!--                               :configuration="configuration" @receiveList="receiveList"/>-->
-<!--              <span v-else>-->
-<!--                <span v-for="item in configuration.dicData" v-if="item.id == row.corpId">{{ item.cname }}</span>-->
-<!--              </span>-->
-<!--            </template>-->
-<!--            <template slot="amount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.amount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.amount }}</span>-->
-<!--            </template>-->
-<!--            <template slot="settlmentAmount" slot-scope="{ row }">-->
-<!--              <el-input v-if="row.$cellEdit" v-model.trim="row.settlmentAmount"-->
-<!--                        size="small" v-input-limit="2"-->
-<!--              ></el-input>-->
-<!--              <span v-else>{{ row.settlmentAmount }}</span>-->
-<!--            </template>-->
-<!--            <template slot-scope="{row,index}" slot="menu">-->
-<!--              <el-button-->
-<!--                  type="text"-->
-<!--                  size="small"-->
-<!--                  @click="rowCellTwo(row,index)"-->
-<!--                  :disabled="detailData.seeDisabled"-->
-<!--              >{{ row.$cellEdit ? '保 存' : '修 改 ' }}-->
-<!--              </el-button>-->
-<!--              <el-button-->
-<!--                size="small"-->
-<!--                icon="el-icon-delete"-->
-<!--                type="text"-->
-<!--                @click="rowDelProject(row, index)"-->
-<!--                :disabled="detailData.seeDisabled"-->
-<!--                v-if="!row.$cellEdit"-->
-<!--              >删 除</el-button>-->
-<!--            </template>-->
-<!--            <template slot="menuLeft" slot-scope="{size}">-->
-<!--              <el-button type="primary"-->
-<!--                         icon="el-icon-plus"-->
-<!--                         size="small"-->
-<!--                         @click="costIncrease"-->
-<!--                         :disabled="detailData.seeDisabled"-->
-<!--              >录入明细-->
-<!--              </el-button>-->
-<!--            </template>-->
-<!--          </avue-crud>-->
-<!--        </basic-container>-->
-        <containerTitle title="附件上传"></containerTitle>
-        <basic-container style="margin-bottom: 40px">
-          <avue-crud
-              :option="bankOfDeposit"
-              v-model="bankOfDepositForm"
-              :data="bankOfDepositData"
-              @row-save="rowSaveBankOfDeposit"
-              @row-update="rowUpdateBankOfDeposit"
-              @row-del="rowDelBankOfDeposit"
-              :upload-after="uploadAfter"
-              ref="uploadCrud"
-          >
-            <template slot="menuLeft">
-              <el-button
-                type="primary"
-                icon="el-icon-plus"
-                size="small"
-                @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled || browse"
-              >上传</el-button>
-            </template>
-            <template slot="menu" slot-scope="{ row, index }">
-              <el-button
-                size="small"
-                icon="el-icon-edit"
-                type="text"
-                @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled || browse"
-              >编 辑</el-button
-              >
-              <el-button
-                size="small"
-                icon="el-icon-delete"
-                type="text"
-                @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled || browse"
-              >删 除</el-button
-              >
-            </template>
-          </avue-crud>
-        </basic-container>
+        <containerTitle title="上传附件"></containerTitle>
+        <c-upload
+          :data="bankOfDepositData"
+          deleteUrl="/api/blade-client/corpsbank/update"
+        />
+
       </el-form>
     </div>
     <el-dialog
@@ -790,6 +699,18 @@
       >
       </check-schedule>
     </el-dialog>
+    <messagePost
+      v-if="messageVisble"
+      ref="messagePost"
+      @closeDialog="closeDialog"
+    />
+    <changeApprove
+      v-if="changeApproveVis"
+      ref="changeApprove"
+      @closeDialog="closeChangeApprove"
+      :auditId="detailData.auditId"
+      url="/api/blade-purchase-sales/order/changeAuditUser"
+    />
   </div>
 </template>
 
@@ -838,7 +759,7 @@ import reportDialog from "@/components/report-dialog/main";
 import { getToken } from "@/util/auth";
 import Cookies from 'js-cookie'
 import feeInfo from "@/components/fee-info/main";
-import {corpsAddrSelect}  from "@/api/basicData/customerInformation";
+import {corpsAddrSelect, customerList as getKHList, detail as khDetail}  from "@/api/basicData/customerInformation";
 import  billApplication from "@/components/bill/billApplication";
 import {
   isDiscount,
@@ -851,6 +772,7 @@ import { gainUser } from "@/api/basicData/customerInquiry";
 import check from "@/components/check/check";
 import checkSchedule from "@/components/check/checkSchedule";
 import { customerList as feeList } from "@/api/basicData/basicFeesDesc";
+import {mapGetters} from "vuex";
 
 export default {
   name: "detailsPage",
@@ -1395,6 +1317,16 @@ export default {
               }
             ]
           }, {
+            label: '付款方式',
+            prop: 'paymentType',
+            rules: [
+              {
+                required: true,
+                message: ' ',
+                trigger: 'change'
+              }
+            ]
+          }, {
             label: '银行帐号',
             prop: 'banks',
             type: 'select',
@@ -1426,16 +1358,6 @@ export default {
               }
             ]
           }, {
-            label: '付款方式',
-            prop: 'paymentType',
-            rules: [
-              {
-                required: true,
-                message: ' ',
-                trigger: 'change'
-              }
-            ]
-          }, {
             label: '包装要求',
             prop: 'packageRemarks',
             rules: [
@@ -1522,6 +1444,26 @@ export default {
               }
             ]
           }, {
+            label: '联系人',
+            prop: 'corpAttn',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'change'
+              }
+            ]
+          }, {
+            label: '联系电话',
+            prop: 'corpTel',
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'change'
+              }
+            ]
+          }, {
             label: "订单备注",
             type: 'textarea',
             span: 24,
@@ -1590,6 +1532,9 @@ export default {
       checkId: '',
       batchNo:'',
       applyPaymentList: [],
+      khInfoList: [],
+      messageVisble: false, //消息弹窗开关
+      changeApproveVis: false, // 更换审批人弹窗
     }
   },
   mounted() {
@@ -1863,11 +1808,18 @@ export default {
           saveSell(this.form.id).then(res => {
             if (res.data.code == 200) {
               this.$message.success("生成成功");
+              this.messageVisble = true
+              this.$nextTick(() => {
+                this.$refs.messagePost.init()
+              })
             }
           });
         });
       }
     },
+    closeDialog() {
+      this.messageVisble = false
+    },
     //点击行可编辑
     handleRowClick(row, event, column) {
     },
@@ -1882,7 +1834,6 @@ export default {
     },
     //费用编辑
     rowCellTwo(row, index) {
-      console.log(row)
       this.$refs.crudProject.rowCell(row, index)
     },
     //费用新增触发
@@ -2202,6 +2153,13 @@ export default {
         })
         this.$set(this.form, 'chargeMember', arr[0])
       }
+      khDetail(data.id).then(res => {
+        if (res.data.data.corpsAttnList) {
+          this.khInfoList = res.data.data.corpsAttnList
+          this.$set(this.form, 'corpAttn', res.data.data.corpsAttnList[0].cname);
+          this.$set(this.form, 'corpTel', res.data.data.corpsAttnList[0].tel);
+        }
+      })
       if (data.belongtocompany) {
         // this.form.belongToCorpId = data.belongtocompany
         // this.returnBack({id: this.form.belongToCorpId})
@@ -2737,7 +2695,7 @@ export default {
     //商品列表查询
     onLoad(page, params = {}) {
       this.loading = true;
-      getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId).then(res => {
+      getList(page.currentPage, page.pageSize, Object.assign(params, this.query), this.treeDeptId, this.form.belongToCorpId).then(res => {
         const data = res.data.data;
         this.page.total = data.total;
         this.pageList.total = data.total
@@ -2762,7 +2720,6 @@ export default {
         feesTypeId: this.treeDeptIdCost
       })
       customerList(queryParams).then(res => {
-        console.log(res)
         const data = res.data.data;
         this.pageCost.total = data.total;
         this.dataCost = data.records;
@@ -2794,48 +2751,6 @@ export default {
         }
       })
     },
-    //新增附件上传保存触发
-    rowSaveBankOfDeposit(row, done, loading) {
-      this.bankOfDepositData.push(row)
-      done()
-    },
-    //修改附件上传触发
-    rowUpdateBankOfDeposit(row, index, done, loading) {
-      done(row);
-    },
-    //删除附件上传触发
-    rowDelBankOfDeposit(row, index, donerowDel) {
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        //附件判断是否需要调用删除接口
-        if (row.id) {
-          corpsbank(row.id).then(res => {
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.bankOfDepositData.splice(index, 1);
-          })
-        } else {
-          this.$message({
-            type: "success",
-            message: "操作成功!"
-          });
-          this.bankOfDepositData.splice(index, 1);
-        }
-      })
-    },
-    uploadAfter(res, done) {
-      if (res.originalName) {
-        this.bankOfDepositForm.fileName = this.bankOfDepositForm.fileName
-          ? this.bankOfDepositForm.fileName
-          : res.originalName;
-      }
-      done();
-    },
     //修改提交触发
     editCustomer(isBack = false, type) {
       this.$refs["form"].validate((valid) => {
@@ -2936,6 +2851,10 @@ export default {
                 saveSell(this.form.id).then(res => {
                   if (res.data.code == 200) {
                     this.$message.success("生成成功");
+                    this.messageVisble = true
+                    this.$nextTick(() => {
+                      this.$refs.messagePost.init()
+                    })
                   }
                 });
               });
@@ -3089,6 +3008,14 @@ export default {
       }
     },
     returnBack(row) {
+      const queryParams = {
+        corpType: 'KH',
+        belongtocompany: row.id
+      }
+      getKHList(queryParams).then(res => {
+        this.form.corpId = res.data.data.records.length > 0? res.data.data.records[0].id: null
+        this.getCorpRow({adminProfiles: res.data.data.records[0].adminProfiles, id: res.data.data.records[0].id})
+      })
       this.form.belongCompany = row.cname
       getlistBankBy(row.id).then(res =>{
         this.$set(this.form, 'banks', null)
@@ -3117,6 +3044,19 @@ export default {
         this.$set(this.form, 'accountBank', null)
       }
     },
+    // 联系人变化
+    corpAttnChange(val) {
+      let isTrue = false
+      this.khInfoList.forEach(item => {
+        if (val == item.id) {
+          this.$set(this.form, 'corpTel', item.tel)
+          isTrue = true
+        }
+      })
+      if (!isTrue) {
+        this.$set(this.form, 'corpTel', null)
+      }
+    },
     // 合计计算
     summaryMethod({ columns, data }) {
       const sums = [];
@@ -3197,6 +3137,12 @@ export default {
           ) {
             item.hide = false;
             item.showColumn = true;
+            if (!this.permission.show_purPrice) {
+              if (item.prop == 'purchaseAmount') {
+                item.hide = true;
+                item.showColumn = false;
+              }
+            }
           }
         })
         // contactsData它是商品的数组    giftData它是赠品的数组   goodsShowData它是展示页面的数组一共三个
@@ -3290,12 +3236,9 @@ export default {
         getGiftList = this.goodsShowData
         getGoodsList = this.contactsData
       } else {
-        console.log(this.giftData)
         getGoodsList = this.goodsShowData
         getGiftList = this.giftData
       }
-      console.log(getGiftList)
-      console.log(this.oldGiftList)
       if (contrastObj(this.form, this.oldForm) ||
         contrastList(getGoodsList, this.oldGoodsList) ||
         contrastList(getGiftList, this.oldGiftList) ||
@@ -3361,7 +3304,31 @@ export default {
     cellStyle() {
       return "padding:0;height:40px;";
     },
+    changeApproveOpen() {
+      this.changeApproveVis = true
+      this.$nextTick(() => {
+        this.$refs.changeApprove.init()
+      })
+    },
+    closeChangeApprove() {
+      this.changeApproveVis = false
+    },
+  },
+  computed: {
+    ...mapGetters(["userInfo", "permission"])
   },
+  watch: {
+    customerContact(oldVal, newVal) {
+      if (!this.permission.show_purPrice) {
+        oldVal.column.forEach(item => {
+          if (item.prop == 'purchaseAmount') {
+            item.hide = true;
+            item.showColumn = false;
+          }
+        })
+      }
+    }
+  }
 }
 </script>
 

+ 27 - 0
src/views/businessManagement/salesOrder/index.vue

@@ -62,6 +62,12 @@
         <template slot="menuLeft" slot-scope="{size}">
           <el-button type="success" :size="size" @click="copyOrder" :disabled="single">复制单据</el-button>
           <el-button type="info" :size="size" icon="el-icon-printer">报 表</el-button>
+          <el-button
+            type="info"
+            size="small"
+            icon="el-icon-download"
+            @click="exportHandle"
+          >库 存</el-button>
         </template>
         <template slot-scope="scope" slot="menu">
 <!--          <el-button-->
@@ -98,6 +104,7 @@ import {customerList, typeSave, deleteDetails, saveSell,detail} from "@/api/basi
 import detailPage from "./detailsPageEdit";
 import search from "../../../page/index/search";
 import { defaultDate } from "@/util/date";
+import { getToken } from "@/util/auth";
 import os from "os";
 
 export default {
@@ -193,6 +200,7 @@ export default {
         this.detailData = {
           id: this.$route.query.check.billId,
           check: this.$route.query.check,
+          auditId: this.$route.query.check.id,
         };
         this.isShow = false;
         this.$store.commit("DOMXS_IN_DETAIL");
@@ -510,6 +518,25 @@ export default {
         this.$refs.crud.$refs.dialogColumn.columnBox = false;
       }
     },
+    // 导出
+    exportHandle() {
+      this.$confirm('是否导出产品信息?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        window.open(
+          `/api/blade-client/goodsdesc/export-out-info?${
+            this.website.tokenHeader
+          }=${getToken()}`
+        );
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消'
+        });
+      })
+    },
   }
 }
 </script>

+ 26 - 4
src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue

@@ -180,6 +180,7 @@
   import { contrastObj,contrastList } from "@/util/contrastData";
   import  billDetail from "@/components/bill/billDetailList";
   import { getlistBankBy } from "@/api/financialManagement/paymentRequest";
+  import { getlistBankBy as GYSGetBank } from "@/api/basicData/configuration"
   import _ from "lodash";
   import {getUserInfo} from "@/api/system/user";
   import {getCorpDetail} from "@/api/maintenance/overpayment";
@@ -483,9 +484,12 @@
       //选择客户
       returnBack(corpValue){
         this.corpId = corpValue.id
-        getlistBankBy(corpValue.id).then(res =>{
-          this.$set(this.form,"bankList",res.data)
-        })
+        if (this.category != 2) {
+          getlistBankBy(corpValue.id).then(res =>{
+            this.$set(this.form,"bankList",res.data)
+          })
+        }
+
         // 溢付款余额获取
         if (this.category == 2) {
           getCorpDetail({corpId:corpValue.id}).then(res => {
@@ -495,10 +499,18 @@
       },
       //选择卡号
       accountNoChange(value){
-        this.form.bankList.forEach(item =>{
+        let isTrue = false
+        this.form.bankList.forEach(item => {
           if(item.accountNo == value){
             this.$set(this.form,"accountBank",item.accountBank)
             this.$set(this.form,"accountName",item.accountName)
+            isTrue = true
+          }
+        })
+        this.$nextTick(() => {
+          if (!isTrue) {
+            this.$set(this.form, 'accountBank', null)
+            this.$set(this.form, 'accountName', null)
           }
         })
       },
@@ -765,6 +777,16 @@
       },
       getGSName(row) {
         this.form.belongCompany = row.cname
+        if (this.category == 2) {
+          GYSGetBank(row.id).then(res =>{
+            this.$set(this.form,"bankList",res.data)
+            if (this.form.bankList.length > 0) {
+              this.form.accountNo = this.form.bankList[0].accountNo
+              this.form.accountName = this.form.bankList[0].accountName
+              this.form.accountBank = this.form.bankList[0].accountBank
+            }
+          })
+        }
       },
       cellStyle() {
         return "padding:0;height:40px;";

+ 25 - 3
src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -196,6 +196,7 @@
   import { contrastObj,contrastList } from "@/util/contrastData";
   import {getUserInfo} from "@/api/system/user";
   import {getCorpDetail} from "@/api/maintenance/overpayment";
+  import { getlistBankBy as GYSGetBank } from "@/api/basicData/configuration"
 
   export default {
     name: "receiptDetailsPage",
@@ -481,9 +482,12 @@
       //选择客户
       returnBack(corpValue){
         this.corpId = corpValue.id
-        getlistBankBy(corpValue.id).then(res =>{
-          this.$set(this.form,"bankList",res.data)
-        })
+        if (this.category != 2) {
+          getlistBankBy(corpValue.id).then(res =>{
+            this.$set(this.form,"bankList",res.data)
+          })
+        }
+
         // 溢付款余额获取
         if (this.category == 2) {
           getCorpDetail({corpId:corpValue.id}).then(res => {
@@ -493,10 +497,18 @@
       },
       //选择卡号
       accountNoChange(value){
+        let isTrue = false
         this.form.bankList.forEach(item =>{
           if(item.accountNo == value){
             this.$set(this.form,"accountBank",item.accountBank)
             this.$set(this.form,"accountName",item.accountName)
+            isTrue = true
+          }
+        })
+        this.$nextTick(() => {
+          if (!isTrue) {
+            this.$set(this.form, 'accountBank', null)
+            this.$set(this.form, 'accountName', null)
           }
         })
       },
@@ -794,6 +806,16 @@
       },
       getGSName(row) {
         this.form.belongCompany = row.cname
+        if (this.category == 2) {
+          GYSGetBank(row.id).then(res =>{
+            this.$set(this.form,"bankList",res.data)
+            if (this.form.bankList.length > 0) {
+              this.form.accountNo = this.form.bankList[0].accountNo
+              this.form.accountName = this.form.bankList[0].accountName
+              this.form.accountBank = this.form.bankList[0].accountBank
+            }
+          })
+        }
       },
       cellStyle() {
         return "padding:0;height:40px;";

+ 114 - 0
src/views/landTransportation/placeAnOrder/detailPage.vue

@@ -0,0 +1,114 @@
+<template>
+  <div>
+    <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"
+          :disabled="disabled"
+          size="small"
+          @click="editCustomer"
+      >{{ form.id ? "确认修改" : "确认新增" }}
+      </el-button>
+    </div>
+    <containerTitle title="起止地信息" style="margin-top: 50px"></containerTitle>
+    <basic-container>
+      <el-table
+          ref="singleTable"
+          :data="tableData"
+          highlight-current-row
+          style="width: 100%">
+        <el-table-column
+            property="date"
+            align="center"
+            width="120">
+        </el-table-column>
+        <el-table-column
+            property="date"
+            label="省份"
+            align="center"
+            width="120">
+        </el-table-column>
+        <el-table-column
+            property="name"
+            label="城市"
+            align="center"
+            width="120">
+        </el-table-column>
+        <el-table-column
+            property="address"
+            align="center"
+            label="区/县">
+        </el-table-column>
+        <el-table-column
+            property="address"
+            align="center"
+            label="详细地址">
+        </el-table-column>
+      </el-table>
+    </basic-container>
+    <containerTitle title="委托"></containerTitle>
+    <basic-container>
+      <avue-crud :data="entrustList" :option="entrustOptionTwo"></avue-crud>
+    </basic-container>
+    <containerTitle title="货物信息"></containerTitle>
+    <basic-container>
+      货物信息
+<!--      <avue-form :option="option" v-model="form"></avue-form>-->
+    </basic-container>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      form:{},
+      tableData: [{
+        date: '2016-05-02',
+        name: '王小虎',
+        address: '上海市普陀区金沙江路 1518 弄'
+      }],
+      entrustList:[],
+      entrustOptionTwo:{
+        align:'center',
+        menuAlign:'center',
+        column:[
+          {
+            label:'尺寸',
+            prop:'name'
+          },{
+            label:'箱型',
+            prop:'sex'
+          },{
+            label:'箱量',
+            prop:'sex'
+          },{
+            label:'总重量(dun)',
+            prop:'sex'
+          },{
+            label:'陆运费',
+            prop:'sex'
+          },{
+            label:'备注',
+            prop:'sex'
+          }
+        ]
+      }
+    };
+  },
+  methods: {
+  }
+}
+</script>
+<style scoped>
+
+</style>

+ 53 - 0
src/views/landTransportation/placeAnOrder/index.vue

@@ -0,0 +1,53 @@
+<template>
+  <div>
+    <basic-container v-if="show">
+      <avue-crud :data="dataList" ref="crud" :option="option">
+        <template slot="menuLeft" slot-scope="{size}">
+          <el-button type="primary" :size="size" @click="rowSave">新增</el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <detail-page v-else></detail-page>
+  </div>
+</template>
+
+<script>
+import detailPage from './detailPage'
+export default {
+  name: "index",
+  components: {
+    detailPage
+  },
+  data(){
+    return{
+      show:true,
+      dataList:[
+        {fileName:'1111111111'}
+      ],
+      option:{
+        align:'center',
+        index: true,
+        addBtn: false,
+        column:[{
+            label: '订单号',
+            prop: 'fileName',
+            index: 1,
+            width: 140,
+            cell: true,
+            overHidden: true,
+            search:true,
+          }]
+      }
+    }
+  },
+  methods:{
+    rowSave(){
+      this.show = false
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 0
src/views/workManagement/main-items/configuration/mainList.json

@@ -1,4 +1,5 @@
 {
+  "expand": true,
   "addBtn": false,
   "headerAlign": "center",
   "align": "center",

+ 48 - 1
src/views/workManagement/main-items/list.vue

@@ -18,8 +18,37 @@
       @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"
@@ -89,7 +118,7 @@
 <script>
   import option from "./configuration/mainList.json";
   import detailPage from "./detailsPage.vue";
-  import { getList,deleteMain } from "@/api/workManagement/mainProject";
+  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";
@@ -156,6 +185,24 @@ export default {
     detailPage
   },
   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))
+        }
+        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))
+      }
+    },
     //远程模糊
     remoteMethod(query){
       let params = {