yusheng před 11 měsíci
rodič
revize
1b8adba8f4

+ 51 - 80
src/views/bpm/handleTask/components/financialManage/invoiceManage/components/addOrEditDialog.vue

@@ -63,7 +63,7 @@
               <el-input-number
                 v-model="form.amount"
                 :precision="2"
-                :disabled="taskDefinitionKey != 'starter'"
+                disabled
                 :controls="false"
                 style="width: 100%"
                 :min="0"
@@ -74,7 +74,7 @@
         <el-col :span="12">
           <el-form-item label="申请部门" prop="applyDeptId">
             <ele-tree-select
-              :disabled="taskDefinitionKey != 'starter'"
+              disabled
               clearable
               :data="deptTreeList"
               v-model="form.applyDeptId"
@@ -89,7 +89,7 @@
         <el-col :span="12">
           <el-form-item label="申请人" prop="applyUserId">
             <personSelect
-              :disabled="taskDefinitionKey != 'starter'"
+              disabled
               ref="directorRef"
               v-model="form.applyUserId"
               @selfChange="changeUserInfo"
@@ -100,7 +100,7 @@
         <el-col :span="12">
           <el-form-item label="预计开票日期">
             <el-date-picker
-              :disabled="taskDefinitionKey != 'starter'"
+              disabled
               style="width: 100%"
               v-model="form.expectInvoiceDate"
               type="date"
@@ -129,116 +129,84 @@
             />
           </el-form-item>
         </el-col>
+        <el-col :span="12" :gutter="12" v-if="taskDefinitionKey != 'starter'">
+          <el-form-item label="发票类型" prop="category">
+            <el-radio disabled v-model="form.category" :label="2"
+              >增值税普通发票</el-radio
+            >
+            <el-radio disabled v-model="form.category" :label="1"
+              >增值税专用发票</el-radio
+            >
+          </el-form-item>
+        </el-col>
 
         <el-col :span="12" :gutter="12" v-if="taskDefinitionKey != 'starter'">
           <el-form-item
             prop="files"
             label="发票附件"
             :rules="[
-              { required: isFile==1?false:true, message: '请上传发票附件', trigger: 'blur' }
+              {
+                required: isFile == 1 ? false : true,
+                message: '请上传发票附件',
+                trigger: 'blur'
+              }
             ]"
           >
             <fileMain v-model="form.files"></fileMain>
           </el-form-item>
         </el-col>
       </el-row>
-      <headerTitle title="购买方信息"></headerTitle>
+      <headerTitle title="发票信息"></headerTitle>
       <el-row :gutter="12">
         <el-col :span="12">
-          <el-form-item label="名称" prop="companyName">
-            <el-input
-              v-model="form.companyName"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="发票类型" prop="category">
-            <el-radio
-              :disabled="taskDefinitionKey != 'starter'"
-              v-model="form.category"
-              :label="2"
-              >增值税普通发票</el-radio
-            >
-            <el-radio
-              :disabled="taskDefinitionKey != 'starter'"
-              v-model="form.category"
-              :label="1"
-              >增值税专用发票</el-radio
-            >
+          <el-form-item label="购买方名称" prop="companyName">
+            <el-input v-model="form.companyName" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item label="统一社会信用代码" prop="companyUsc">
-            <el-input
-              v-model="form.companyUsc"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+            <el-input v-model="form.companyUsc" disabled></el-input>
           </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
           <el-form-item label="开户银行" prop="companyBankBranchNo">
-            <el-input
-              v-model="form.companyBankBranchNo"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+            <el-input v-model="form.companyBankBranchNo" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item label="银行账户" prop="companyBankAccount">
-            <el-input
-              v-model="form.companyBankAccount"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+            <el-input v-model="form.companyBankAccount" disabled></el-input>
           </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
           <el-form-item label="地址" prop="companyAddress">
-            <el-input
-              v-model="form.companyAddress"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+            <el-input v-model="form.companyAddress" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item label="电话号码" prop="companyTel">
-            <el-input
-              v-model="form.companyTel"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+            <el-input v-model="form.companyTel" disabled></el-input>
           </el-form-item>
         </el-col>
-      </el-row>
-      <headerTitle title="销售方信息"></headerTitle>
-
-      <el-row :gutter="12">
         <el-col :span="12">
-          <el-form-item label="名称" prop="receiverName">
-            <el-input
-              v-model="form.receiverName"
-              :disabled="taskDefinitionKey != 'starter'"
-            ></el-input>
+          <el-form-item label="销售方名称" prop="receiverName">
+            <el-input disabled v-model="form.receiverName"></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="地址" prop="receiverAddress">
+          <el-form-item
+            label="统一社会信用代码"
+            prop="salesCompanyUsc"
+            class="form_item_label"
+          >
+            <el-input v-model="form.salesCompanyUsc" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="开户银行" prop="salesCompanyBankBranchNo">
             <el-input
-              v-model="form.receiverAddress"
-              :disabled="taskDefinitionKey != 'starter'"
+              v-model="form.salesCompanyBankBranchNo"
+              disabled
             ></el-input>
           </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="12">
-        <el-col :span="12">
-          <el-form-item label="联系方式" prop="receiverTel">
+          <el-form-item label="银行账户" prop="salesCompanyBankAccount">
             <el-input
-              v-model="form.receiverTel"
-              :disabled="taskDefinitionKey != 'starter'"
+              v-model="form.salesCompanyBankAccount"
+              disabled
             ></el-input>
           </el-form-item>
+          <el-form-item label="地址" prop="receiverAddress">
+            <el-input v-model="form.receiverAddress" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="电话号码" prop="receiverTel">
+            <el-input v-model="form.receiverTel" disabled></el-input>
+          </el-form-item>
         </el-col>
       </el-row>
     </el-form>
@@ -295,6 +263,9 @@
         dialogType: '',
         title: '',
         form: {
+          salesCompanyUsc: '',
+          salesCompanyBankBranchNo: '',
+          salesCompanyBankAccount: '',
           accountingSubjectCode: '',
           accountingSubjectId: '',
           accountingSubjectName: '',

+ 175 - 220
src/views/bpm/handleTask/components/financialManage/invoiceManage/components/detailDialog.vue

@@ -3,283 +3,238 @@
     <el-form ref="form" :model="form" label-width="130px">
       <headerTitle title="基本信息"></headerTitle>
       <el-row :gutter="12">
-          <el-col :span="12">
-            <el-form-item
-              label="发票类型"
-              prop="type"
-              >
-              <el-select v-model="form.type" disabled style="width: 100%">
-                <el-option label="开票" :value="1"></el-option>
-                <el-option label="收票" :value="2"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="来源类型" prop="sourceType">
-              <el-select
-                v-model="form.sourceType"
-                :disabled="true"
-                style="width: 100%"
-              >
-                <el-option label="对账单" :value="1"></el-option>
-                <el-option label="合同" :value="2"></el-option>
-                <el-option label="订单" :value="3"></el-option>
-                <el-option label="应收" :value="5"></el-option>
-                <el-option label="应付" :value="4"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.sourceType == 1">
-            <el-form-item label="对账单" prop="sourceCode">
-              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.sourceType == 2">
-            <el-form-item label="合同" prop="sourceCode">
-              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.sourceType == 3">
-            <el-form-item label="订单" prop="sourceCode">
-              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.sourceType == 5">
-            <el-form-item label="应收" prop="sourceCode">
-              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.sourceType == 4">
-            <el-form-item label="应付" prop="sourceCode">
-              <el-input v-model="form.sourceCode" :disabled="true"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item
-              label="金额"
-              prop="amount"
-              >
-              <el-input-number disabled v-model="form.amount" :precision="2" :controls="false" style="width: 100%"
-                               :min="0"></el-input-number>
-            </el-form-item>
-          </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="申请部门"
-            prop="applyDeptId"
+        <el-col :span="8">
+          <el-form-item label="发票类型" prop="type">
+            <el-select v-model="form.type" disabled style="width: 100%">
+              <el-option label="开票" :value="1"></el-option>
+              <el-option label="收票" :value="2"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="来源类型" prop="sourceType">
+            <el-select
+              v-model="form.sourceType"
+              :disabled="true"
+              style="width: 100%"
             >
+              <el-option label="对账单" :value="1"></el-option>
+              <el-option label="合同" :value="2"></el-option>
+              <el-option label="订单" :value="3"></el-option>
+              <el-option label="应收" :value="5"></el-option>
+              <el-option label="应付" :value="4"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="form.sourceType == 1">
+          <el-form-item label="对账单" prop="sourceCode">
+            <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="form.sourceType == 2">
+          <el-form-item label="合同" prop="sourceCode">
+            <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="form.sourceType == 3">
+          <el-form-item label="订单" prop="sourceCode">
+            <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="form.sourceType == 5">
+          <el-form-item label="应收" prop="sourceCode">
+            <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="form.sourceType == 4">
+          <el-form-item label="应付" prop="sourceCode">
+            <el-input v-model="form.sourceCode" :disabled="true"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="金额" prop="amount">
+            <el-input-number
+              disabled
+              v-model="form.amount"
+              :precision="2"
+              :controls="false"
+              style="width: 100%"
+              :min="0"
+            ></el-input-number>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="申请部门" prop="applyDeptId">
             <el-input v-model="form.applyDeptName" disabled></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="申请人"
-            prop="applyUserId"
-            
-          >
+        <el-col :span="8">
+          <el-form-item label="申请人" prop="applyUserId">
             <el-input v-model="form.applyUserName" disabled></el-input>
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
-          <el-form-item
-            label="预计开票日期"
-            >
+        <el-col :span="8">
+          <el-form-item label="预计开票日期">
             <el-date-picker
               style="width: 100%"
               v-model="form.expectInvoiceDate"
               type="date"
               disabled
-              value-format="yyyy-MM-dd">
+              value-format="yyyy-MM-dd"
+            >
             </el-date-picker>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="taskDefinitionKey=='financeApprove'">
-          <el-form-item
-            label="会计科目"
-            prop="accountingSubjectId"
-            >
+        <el-col :span="8" v-if="taskDefinitionKey == 'financeApprove'">
+          <el-form-item label="会计科目" prop="accountingSubjectId">
             <el-input v-model="form.accountingSubjectName" disabled></el-input>
           </el-form-item>
         </el-col>
-  
-        <el-col :span="12" v-if="taskDefinitionKey=='financeApprove'">
+        <el-col :span="8">
+          <el-form-item label="发票类型" prop="category">
+            <el-radio disabled v-model="form.category" :label="2"
+              >增值税普通发票</el-radio
+            >
+            <el-radio disabled v-model="form.category" :label="1"
+              >增值税专用发票</el-radio
+            >
+          </el-form-item>
+        </el-col>
+        <el-col :span="8" v-if="taskDefinitionKey == 'financeApprove'">
           <el-form-item prop="files" label="发票附件">
-            <fileMain v-model="form.files"  type="view"></fileMain>
-
+            <fileMain v-model="form.files" type="view"></fileMain>
           </el-form-item>
         </el-col>
       </el-row>
-      <headerTitle title="购买方信息"></headerTitle>
+      <headerTitle title="发票信息"></headerTitle>
       <el-row :gutter="12">
         <el-col :span="12">
-          <el-form-item
-            label="名称"
-            prop="companyName"
-            >
-            <el-input disabled v-model="form.companyName"></el-input>
+          <el-form-item label="购买方名称" prop="companyName">
+            <el-input v-model="form.companyName" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="发票类型" prop="category">
-            <el-radio disabled v-model="form.category" :label="2">增值税普通发票</el-radio>
-            <el-radio disabled v-model="form.category" :label="1">增值税专用发票</el-radio>
+          <el-form-item label="统一社会信用代码" prop="companyUsc">
+            <el-input v-model="form.companyUsc" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="统一社会信用代码"
-            prop="companyUsc"
-            >
-            <el-input disabled v-model="form.companyUsc"></el-input>
+          <el-form-item label="开户银行" prop="companyBankBranchNo">
+            <el-input v-model="form.companyBankBranchNo" disabled></el-input>
           </el-form-item>
-        </el-col>
-
-    
-        <el-col :span="12">
-          <el-form-item
-            label="开户银行"
-            prop="companyBankBranchNo"
-            >
-            <el-input disabled v-model="form.companyBankBranchNo"></el-input>
+          <el-form-item label="银行账户" prop="companyBankAccount">
+            <el-input v-model="form.companyBankAccount" disabled></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="银行账户"
-            prop="companyBankAccount"
-            >
-            <el-input disabled v-model="form.companyBankAccount"></el-input>
+          <el-form-item label="地址" prop="companyAddress">
+            <el-input v-model="form.companyAddress" disabled></el-input>
           </el-form-item>
-        </el-col>
-   
-        <el-col :span="12">
-          <el-form-item
-            label="电话号码"
-            prop="companyTel"
-            >
-            <el-input disabled v-model="form.companyTel"></el-input>
+          <el-form-item label="电话号码" prop="companyTel">
+            <el-input v-model="form.companyTel" disabled></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item
-            label="地址"
-            prop="companyAddress"
-            >
-            <el-input disabled v-model="form.companyAddress"></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <headerTitle title="销售方信息"></headerTitle>
-
-
-      <el-row :gutter="12">
-        <el-col :span="12">
-          <el-form-item
-            label="名称"
-            prop="receiverName"
-            
-          >
+          <el-form-item label="销售方名称" prop="receiverName">
             <el-input disabled v-model="form.receiverName"></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item
-            label="地址"
-            prop="receiverAddress"
-            
-          >
-            <el-input disabled v-model="form.receiverAddress"></el-input>
+          <el-form-item label="统一社会信用代码" prop="salesCompanyUsc">
+            <el-input v-model="form.salesCompanyUsc" disabled></el-input>
           </el-form-item>
-        </el-col>
-      </el-row>
-      <el-row :gutter="12">
-        <el-col :span="12">
-          <el-form-item
-            label="联系方式"
-            prop="receiverTel"
-            
-          >
-            <el-input disabled v-model="form.receiverTel"></el-input>
+          <el-form-item label="开户银行" prop="salesCompanyBankBranchNo">
+            <el-input
+              v-model="form.salesCompanyBankBranchNo"
+              disabled
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="银行账户" prop="salesCompanyBankAccount">
+            <el-input
+              v-model="form.salesCompanyBankAccount"
+              disabled
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="地址" prop="receiverAddress">
+            <el-input v-model="form.receiverAddress" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="电话号码" prop="receiverTel">
+            <el-input v-model="form.receiverTel" disabled></el-input>
           </el-form-item>
         </el-col>
       </el-row>
     </el-form>
     <headerTitle title="关联信息"></headerTitle>
-    <table-info v-if="dialogType!='add'&&form.detailList.length" dialogType="view" :form="form"
-                ref="table"></table-info>
+    <table-info
+      v-if="dialogType != 'add' && form.detailList.length"
+      dialogType="view"
+      :form="form"
+      ref="table"
+    ></table-info>
   </div>
 </template>
 
 <script>
-import {getFile} from '@/api/system/file';
-import dictMixins from '@/mixins/dictMixins';
-import fileUpload from "@/components/upload/fileUpload.vue";
-
-import personSelect from "@/components/CommomSelect/person-select.vue";
-import tableInfo from "./tableInfo.vue";
-import {invoiceApplyInfoAPI} from "@/api/bpm/components/financialManage/invoiceManage";
-// import fileMain from "@/components/addDoc/index.vue";
+  import { getFile } from '@/api/system/file';
+  import dictMixins from '@/mixins/dictMixins';
+  import fileUpload from '@/components/upload/fileUpload.vue';
 
+  import personSelect from '@/components/CommomSelect/person-select.vue';
+  import tableInfo from './tableInfo.vue';
+  import { invoiceApplyInfoAPI } from '@/api/bpm/components/financialManage/invoiceManage';
+  // import fileMain from "@/components/addDoc/index.vue";
 
-export default {
-  mixins: [dictMixins],
-  components: {
-    // fileMain,
-    tableInfo,
-    personSelect,
-    fileUpload
-  },
-  data() {
-    return {
-      dialogType: '',
-      form: {
-        files: []
-      },
-    };
-  },
-  props:{
-    businessId: {
-      default: ''
+  export default {
+    mixins: [dictMixins],
+    components: {
+      // fileMain,
+      tableInfo,
+      personSelect,
+      fileUpload
     },
-    taskDefinitionKey: {
-      default: ''
+    data() {
+      return {
+        dialogType: '',
+        form: {
+          files: []
+        }
+      };
     },
-  },
-  async created() {
-    await this.getInfo(this.businessId)
-  },
-  methods: {
-    //获取详情
-    async getInfo(id) {
-      this.form = await invoiceApplyInfoAPI(id)
+    props: {
+      businessId: {
+        default: ''
+      },
+      taskDefinitionKey: {
+        default: ''
+      }
     },
-    downloadFile(file) {
-      getFile({objectName: file.storePath}, file.name);
+    async created() {
+      await this.getInfo(this.businessId);
     },
-    cancel() {
-      this.$emit('update:detailDialogFlag', false)
+    methods: {
+      //获取详情
+      async getInfo(id) {
+        this.form = await invoiceApplyInfoAPI(id);
+      },
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      cancel() {
+        this.$emit('update:detailDialogFlag', false);
+      }
     }
-  }
-};
+  };
 </script>
 
 <style scoped lang="scss">
-.ele-dialog-form {
-  .el-form-item {
-    margin-bottom: 10px;
+  .ele-dialog-form {
+    .el-form-item {
+      margin-bottom: 10px;
+    }
   }
-}
 
-.headbox {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
+  .headbox {
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
 
-  .amount {
-    font-size: 14px;
-    font-weight: bold;
-    margin-right: 20px;
+    .amount {
+      font-size: 14px;
+      font-weight: bold;
+      margin-right: 20px;
+    }
   }
-}
 </style>

+ 12 - 0
src/views/bpm/handleTask/components/marketManagem/submit.vue

@@ -52,6 +52,7 @@
 
 <script>
 import {approveTaskWithVariables, rejectTask} from '@/api/bpm/task';
+import { save } from '@/api/bpm/components/marketManagem/index';
 // 流程实例的详情页,可用于审批
 export default {
   name: '',
@@ -92,6 +93,10 @@ export default {
     },
 
     async handleAudit(status, type) {
+      let res = await this.getTableValue();
+      if(res){
+        await save(res)
+      }
       this._approveTaskWithVariables(status);
     },
     async _approveTaskWithVariables(status) {
@@ -113,6 +118,13 @@ export default {
         }
       });
     },
+    getTableValue() {
+        return new Promise((resolve, reject) => {
+          this.$emit('getTableValue', async (data) => {
+            resolve(await data);
+          });
+        });
+      },
 
     //更多
     handleCommand(command) {

+ 22 - 3
src/views/bpm/handleTask/components/marketManagem/taskInfoTable.vue

@@ -214,17 +214,31 @@
     </el-form>
 
    
+    <!-- 选择司机   -->
+    <select-driver-dialog
+      ref="selectDriverDialogRef"
+      :selectDriverDialogFlag.sync="selectDriverDialogFlag"
+      v-if="selectDriverDialogFlag"
+      @changeParent="getDriverInfo"
+    ></select-driver-dialog>
+    <select-car-dialog
+      ref="selectCarDialogRef"
+      :selectCarDialogFlag.sync="selectCarDialogFlag"
+      v-if="selectCarDialogFlag"
+      @changeParent="getCarInfo"
+    ></select-car-dialog>
   </div>
 </template>
 
 
 <script>
-// import { checkDriverIsBusyAPI } from '@/api/transportManager/shipManage';
-
+import SelectDriverDialog from '@/views/bpm/handleTask/components/transportManager/shipManage/components/selectDriverDialog.vue';
+import SelectCarDialog from '@/views/bpm/handleTask/components/transportManager/shipManage/components/selectCarDialog.vue';
 import { getSummaries } from '@/utils/util.js';
 
 export default {
   name: 'relatedInfoTable',
+
   props: {
 
     dialogType: {
@@ -232,10 +246,15 @@ export default {
       default: ''
     }
   },
+  components:{
+    SelectDriverDialog,
+    SelectCarDialog,
+  },
   data() {
     return {
       editIndex: undefined, //当前修改数据的下标
-
+      selectCarDialogFlag:false,
+      selectDriverDialogFlag:false,
       form: {
         datasource: []
       }

+ 266 - 262
src/views/bpm/handleTask/components/marketManagem/view.vue

@@ -1,277 +1,281 @@
 <template>
+  <el-form ref="form" class="el-form-box" :model="form" label-width="0">
+    <el-row :gutter="15">
+      <el-descriptions title="基本信息" :column="4">
+        <el-descriptions-item label="编码">
+          {{ form.code }}
+        </el-descriptions-item>
+        <el-descriptions-item label="类型">
+          {{ getDictValue('市场活动类型', form.type) }}
+        </el-descriptions-item>
+        <el-descriptions-item label="主题">{{
+          form.name
+        }}</el-descriptions-item>
 
+        <el-descriptions-item label="发起人">
+          {{ form.promoterName }}
+        </el-descriptions-item>
+      </el-descriptions>
+      <el-descriptions title="来访信息" :column="4">
+        <el-descriptions-item label="来访单位">
+          {{ form.visitingUnitsName }}
+        </el-descriptions-item>
 
-    <el-form
-      ref="form"
-      class="el-form-box"
-      :model="form"
-      label-width="0"
-    >
-      <el-row :gutter="15">
-        <el-descriptions title="基本信息" :column="4">
-          <el-descriptions-item label="编码">
-            {{ form.code }}
-          </el-descriptions-item>
-          <el-descriptions-item label="类型">
-            {{ getDictValue('市场活动类型', form.type) }}
-          </el-descriptions-item>
-          <el-descriptions-item label="主题">{{
-            form.name
-          }}</el-descriptions-item>
-
-          <el-descriptions-item label="发起人">
-            {{ form.promoterName }}
-          </el-descriptions-item>
-        </el-descriptions>
-        <el-descriptions title="来访信息" :column="4">
-          <el-descriptions-item label="来访单位">
-            {{ form.visitingUnitsName }}
-          </el-descriptions-item>
-
-          <el-descriptions-item label="人数">
-            {{ form.numberOfVisitors }}
-          </el-descriptions-item>
-          <el-descriptions-item label="负责人">
-            {{ form.commanderName }}
-          </el-descriptions-item>
-          <el-descriptions-item label="职位">
-            {{ form.positionName }}
-          </el-descriptions-item>
-          <el-descriptions-item label="联系方式">
-            {{ form.phone }}
-          </el-descriptions-item>
-          <el-descriptions-item label="时间">
-            {{ form.start }}
-            <span style="margin-left: 15px" v-if="TimeArr.length > 1">
-              {{ getTimeArr }} 天
-            </span>
-          </el-descriptions-item>
-        </el-descriptions>
+        <el-descriptions-item label="人数">
+          {{ form.numberOfVisitors }}
+        </el-descriptions-item>
+        <el-descriptions-item label="负责人">
+          {{ form.commanderName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="职位">
+          {{ form.positionName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="联系方式">
+          {{ form.phone }}
+        </el-descriptions-item>
+        <el-descriptions-item label="时间">
+          {{ form.start }}
+          <span style="margin-left: 15px" v-if="TimeArr.length > 1">
+            {{ getTimeArr }} 天
+          </span>
+        </el-descriptions-item>
+      </el-descriptions>
 
-        <el-descriptions title="接待人信息" :column="4">
-          <el-descriptions-item label="接待部门">
-            {{ form.receptionDepartmentName }}
-          </el-descriptions-item>
-          <el-descriptions-item label="接待人">
-            {{ form.receptionUserName }}
-          </el-descriptions-item>
-          <el-descriptions-item label="费用归属人">
-            {{ form.costOwnerName }}
-          </el-descriptions-item>
-          <el-descriptions-item label="欢迎标语">
-            {{ form.welcomeSign }}
-          </el-descriptions-item>
-          <el-descriptions-item label="接待流程">
-            {{ form.remark }}
-          </el-descriptions-item>
-        </el-descriptions>
-      </el-row>
-      <el-row
-        :gutter="15"
-        style="margin-top: 20px"
-        v-if="form.receptionProjectList.length > 0"
-      >
-        <el-col :span="24">
-          <el-tabs
-            v-model="activeName"
-            type="border-card"
-            style="height: calc(100% - 124px); width: 100%"
+      <el-descriptions title="接待人信息" :column="4">
+        <el-descriptions-item label="接待部门">
+          {{ form.receptionDepartmentName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="接待人">
+          {{ form.receptionUserName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="费用归属人">
+          {{ form.costOwnerName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="欢迎标语">
+          {{ form.welcomeSign }}
+        </el-descriptions-item>
+        <el-descriptions-item label="接待流程">
+          {{ form.remark }}
+        </el-descriptions-item>
+      </el-descriptions>
+    </el-row>
+    <el-row
+      :gutter="15"
+      style="margin-top: 20px"
+      v-if="form.receptionProjectList.length > 0"
+    >
+      <el-col :span="24">
+        <el-tabs
+          v-model="activeName"
+          type="border-card"
+          style="height: calc(100% - 124px); width: 100%"
+        >
+          <el-tab-pane
+            v-for="item in form.receptionProjectList"
+            :label="item.name"
+            :name="item.refKey"
+            :key="item.refKey"
           >
-            <el-tab-pane
-              v-for="item in form.receptionProjectList"
-              :label="item.name"
-              :name="item.refKey"
-              :key="item.refKey"
-            >
-              <taskInfoTable
-                :dialogType="'view'"
-                ref="taskInfoTableRef"
-                v-if="item.name == '用车'"
-                :key="'用车'"
-              ></taskInfoTable>
-              <mealList
-                ref="mealListRef"
-                :dialogType="'view'"
-                v-if="item.name == '用餐'"
-                :organizationList="organizationList"
-              ></mealList>
-              <putUpList
-                :dialogType="'view'"
-                ref="putUpRef"
-                v-if="item.name == '住宿'"
-              ></putUpList>
-              <souvenirList
-                :dialogType="'view'"
-                ref="souvenirListRef"
-                v-if="item.name == '纪念品'"
-                :organizationList="organizationList"
-              ></souvenirList>
-              <conferenceList
-                :dialogType="'view'"
-                ref="conferenceListRef"
-                v-if="item.name == '会议'"
-                :organizationList="organizationList"
-              ></conferenceList>
-              <companyList
-                :dialogType="'view'"
-                ref="companyListRef"
-                v-if="item.name == '公司参观'"
-                :organizationList="organizationList"
-              ></companyList>
-              <visitList
-                :dialogType="'view'"
-                ref="visitListRef"
-                v-if="item.name == '景点游览'"
-                :organizationList="organizationList"
-              ></visitList>
-            </el-tab-pane>
-          </el-tabs>
-        </el-col>
-      </el-row>
-    </el-form>
-
+            <taskInfoTable
+              ref="taskInfoTableRef"
+              v-if="item.name == '用车'"
+              :key="'用车'"
+            ></taskInfoTable>
+            <mealList
+              ref="mealListRef"
+              v-if="item.name == '用餐'"
+              :organizationList="organizationList"
+            ></mealList>
+            <putUpList ref="putUpRef" v-if="item.name == '住宿'"></putUpList>
+            <souvenirList
+              ref="souvenirListRef"
+              v-if="item.name == '纪念品'"
+              :organizationList="organizationList"
+            ></souvenirList>
+            <conferenceList
+              ref="conferenceListRef"
+              v-if="item.name == '会议'"
+              :organizationList="organizationList"
+            ></conferenceList>
+            <companyList
+              ref="companyListRef"
+              v-if="item.name == '公司参观'"
+              :organizationList="organizationList"
+            ></companyList>
+            <visitList
+              ref="visitListRef"
+              v-if="item.name == '景点游览'"
+              :organizationList="organizationList"
+            ></visitList>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+  </el-form>
 </template>
 <script>
-const defForm = {
-  name: '', //名称
-  type: '', //类型
-  state: '', //状态
-  promoterId: '', //发起人id
-  promoterName: '', //发起人名称
-  visitingUnits: '', //来访单位id
-  visitingUnitsName: '', //来访单位名称
-  numberOfVisitors: '', //来访人数
-  commanderId: '', //负责人id
-  commanderName: '', //负责人名称
-  positionId: '', //职位id
-  positionName: '', //职位名称
-  phone: '', //电话
-  start: '', //开始时间
-  end: '', //结束
-  receptionDepartmentId: [], //接待部门id
-  receptionDepartmentName: '', //接待部门名称
-  receptionUserId: [], //接待人id
-  receptionUserName: '', //接待人名称
-  costOwnerId: '', //费用归属人id
-  costOwnerName: '', //归属人名称
-  welcomeSign: '', //欢迎标语
-  receptionProjectList: [] //接待项目
-};
-import { getById } from '@/api/bpm/components/marketManagem/index';
-
+  const defForm = {
+    name: '', //名称
+    type: '', //类型
+    state: '', //状态
+    promoterId: '', //发起人id
+    promoterName: '', //发起人名称
+    visitingUnits: '', //来访单位id
+    visitingUnitsName: '', //来访单位名称
+    numberOfVisitors: '', //来访人数
+    commanderId: '', //负责人id
+    commanderName: '', //负责人名称
+    positionId: '', //职位id
+    positionName: '', //职位名称
+    phone: '', //电话
+    start: '', //开始时间
+    end: '', //结束
+    receptionDepartmentId: [], //接待部门id
+    receptionDepartmentName: '', //接待部门名称
+    receptionUserId: [], //接待人id
+    receptionUserName: '', //接待人名称
+    costOwnerId: '', //费用归属人id
+    costOwnerName: '', //归属人名称
+    welcomeSign: '', //欢迎标语
+    receptionProjectList: [] //接待项目
+  };
+  import { getById } from '@/api/bpm/components/marketManagem/index';
+  import {listOrganizations} from '/src/api/system/organization';
 
-import dictMixins from '@/mixins/dictMixins';
+  import dictMixins from '@/mixins/dictMixins';
 
-//车
-import taskInfoTable from './taskInfoTable.vue';
-//用餐
-import mealList from './mealList.vue';
-//纪念品
-import souvenirList from './souvenirList.vue';
-//会议
-import conferenceList from './conferenceList.vue';
-//参观
-import companyList from './companyList.vue';
-//游览
-import visitList from './visitList.vue';
-//住宿
-import putUpList from './putUpList.vue';
-export default {
-  components: {
-    taskInfoTable,
-    mealList,
-    souvenirList,
-    conferenceList,
-    companyList,
-    putUpList,
-    visitList
-  },
-  props: {
-    businessId: {
-      default: ''
-    }
-  },
-  mixins: [dictMixins],
-  computed: {
-    getTimeArr() {
-      let [start, end] = this.TimeArr;
-      return (
-        Math.ceil(
-          (new Date(end).getTime() - new Date(start).getTime()) /
-            1000 /
-            60 /
-            60 /
-            24
-        ) || ''
-      );
-    }
-  },
-  data() {
-    return {
-      checkList: [],
-      TimeArr: [],
-      activeName: '',
-      organizationList: [],
-      form: { ...defForm },
-
-    };
-  },
-  mounted() {},
-  created() {
-    this.requestDict('市场活动类型');
-
-    this.init()
-  },
-  methods: {
-    //初始化
-    async init() {
-      this.addOrEditDialogFlag = true;
+  //车
+  import taskInfoTable from './taskInfoTable.vue';
+  //用餐
+  import mealList from './mealList.vue';
+  //纪念品
+  import souvenirList from './souvenirList.vue';
+  //会议
+  import conferenceList from './conferenceList.vue';
+  //参观
+  import companyList from './companyList.vue';
+  //游览
+  import visitList from './visitList.vue';
+  //住宿
+  import putUpList from './putUpList.vue';
+  export default {
+    components: {
+      taskInfoTable,
+      mealList,
+      souvenirList,
+      conferenceList,
+      companyList,
+      putUpList,
+      visitList
+    },
+    props: {
+      businessId: {
+        default: ''
+      }
+    },
+    mixins: [dictMixins],
+    computed: {
+      getTimeArr() {
+        let [start, end] = this.TimeArr;
+        return (
+          Math.ceil(
+            (new Date(end).getTime() - new Date(start).getTime()) /
+              1000 /
+              60 /
+              60 /
+              24
+          ) || ''
+        );
+      }
+    },
+    data() {
+      return {
+        checkList: [],
+        TimeArr: [],
+        activeName: '',
+        organizationList: [],
+        form: { ...defForm }
+      };
+    },
+    mounted() {},
+    created() {
+      this.requestDict('市场活动类型');
+      listOrganizations().then((list) => {
+        let _list = list.filter((i) => i.name != '超级管理员');
+        this.organizationList = this.$util.toTreeData({
+          data: _list,
+          idField: 'id',
+          parentIdField: 'parentId'
+        });
+      });
+      this.init();
+    },
+    methods: {
+      //初始化
+      async init() {
+        this.addOrEditDialogFlag = true;
 
-      this.form = await getById(this.businessId);
-      this.$nextTick(() => {
-        this.form.receptionProjectList.forEach((item) => {
-          if (
-            this.$refs[item.refKey] &&
-            this.$refs[item.refKey][0].putTableValue
-          ) {
-            this.$refs[item.refKey][0].putTableValue(item.tableList);
+        this.form = await getById(this.businessId);
+        this.$nextTick(() => {
+          this.form.receptionProjectList.forEach((item) => {
+            if (
+              this.$refs[item.refKey] &&
+              this.$refs[item.refKey][0].putTableValue
+            ) {
+              this.$refs[item.refKey][0].putTableValue(item.tableList);
+            }
+            this.checkList.push(item.refKey);
+          });
+          this.activeName = this.checkList[0];
+          if (this.form.start && this.form.end) {
+            this.TimeArr = [this.form.start, this.form.end];
           }
-          this.checkList.push(item.refKey);
         });
-        this.activeName = this.checkList[0];
-        if (this.form.start && this.form.end) {
-          this.TimeArr = [this.form.start, this.form.end];
-        }
-      });
+      },
+      async getTableValue() {
+        await this.$nextTick(() => {
+          this.form.receptionProjectList = this.form.receptionProjectList.map(
+            (item) => {
+              if (
+                this.$refs[item.refKey] &&
+                this.$refs[item.refKey][0].getTableValue
+              ) {
+                item.tableList = this.$refs[item.refKey][0].getTableValue();
+              }
+              return item;
+            }
+          );
+        });
+        return this.form;
+      }
     }
-  }
-};
+  };
 </script>
 <style scoped lang="scss">
-:deep(.el-input__inner) {
-  border: none;
-}
-:deep(.el-input-group__append) {
-  border-left: 1px solid var(--border-color-base);
-}
-:deep(.el-descriptions--medium.is-bordered .el-descriptions-item__cell) {
-  padding: 2px;
-}
-:deep(.el-descriptions-item__label) {
-  color: #333;
-  text-align: center !important;
-}
-:deep(.el-form-box .el-form-item) {
-  margin-bottom: 0 !important;
-}
-:deep(.el-descriptions__header) {
-  margin-top: 10px;
-  margin-bottom: 10px;
-}
-:deep(.el-textarea__inner) {
-  border: none;
-}
-:deep(.el-descriptions__title) {
-  color: #1890ff;
-}
-</style>
+  :deep(.el-input__inner) {
+    border: none;
+  }
+  :deep(.el-input-group__append) {
+    border-left: 1px solid var(--border-color-base);
+  }
+  :deep(.el-descriptions--medium.is-bordered .el-descriptions-item__cell) {
+    padding: 2px;
+  }
+  :deep(.el-descriptions-item__label) {
+    color: #333;
+    text-align: center !important;
+  }
+  :deep(.el-form-box .el-form-item) {
+    margin-bottom: 0 !important;
+  }
+  :deep(.el-descriptions__header) {
+    margin-top: 10px;
+    margin-bottom: 10px;
+  }
+  :deep(.el-textarea__inner) {
+    border: none;
+  }
+  :deep(.el-descriptions__title) {
+    color: #1890ff;
+  }
+</style>

+ 16 - 3
src/views/bpm/message/index.vue

@@ -68,6 +68,16 @@
           >
             已读
           </el-link>
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-view"
+            v-if="row.formPath"            
+            @click="handleAddOrEdit(row,row.formPath)"
+          >
+            处理
+          </el-link>
+        
         </template>
         <template v-slot:readStatus="{row}">
           <el-tag v-if="row.readStatus" type="success">{{ '已读' }}</el-tag>
@@ -125,7 +135,7 @@ export default {
         {
           prop: 'templateNickname',
           label: '发送人',
-          width: '80',
+          width: '150',
           align: "center",
         },
         {
@@ -138,7 +148,7 @@ export default {
         {
           columnKey: 'action',
           label: '操作',
-          width: 100,
+          width: 150,
           align: 'center',
           slot: 'action',
           fixed: 'right'
@@ -160,8 +170,11 @@ export default {
   },
   methods: {
     //新增或修改模板
-    async handleAddOrEdit(row) {
+    async handleAddOrEdit(row,formPath) {
       await updateNotifyMessageReadByIdAPI([row.id]);
+      if(formPath){
+        window.history.pushState(null, '', formPath);
+      }
       this.$refs.table.reload()
     },
     reload(type) {