Przeglądaj źródła

Merge branch 'master' of http://36.137.93.232:3000/hf/byte-sailing-new

cz 2 lat temu
rodzic
commit
6d58e7bd87

BIN
src/assets/images/icon_zhangh1.png


BIN
src/assets/images/icon_zhangh2.png


BIN
src/assets/images/icon_zhangh3.png


BIN
src/assets/images/icon_zhangh4.png


+ 6 - 6
src/components/WDLY/process/SendPurchase.vue

@@ -228,13 +228,13 @@
         </el-col>
       </el-row>
     </el-form>
+    <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
+      <SelectGoods
+        @cancel="openProduct = false"
+        @pushGoods="pushGoods"
+      ></SelectGoods>
+    </el-dialog>
   </div>
-  <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
-    <SelectGoods
-      @cancel="openProduct = false"
-      @pushGoods="pushGoods"
-    ></SelectGoods>
-  </el-dialog>
 </template>
 
 <script setup>

+ 1 - 0
src/components/byForm/index.vue

@@ -7,6 +7,7 @@
       :rules="rules"
       :labelPosition="formOption.labelPosition || 'top'"
       ref="byForm"
+      :disabled='formOption.disabled || false'
     >
       <el-form-item
         :label="i.label"

+ 2 - 1
src/components/byTable/index.vue

@@ -471,12 +471,13 @@ export default defineComponent({
   ul {
     position: absolute;
     left: 0;
-    right: 0;
+    
     top: 32px;
     padding: 0;
     margin: 0;
     z-index: 100;
     display: none;
+    white-space: nowrap;
     li {
       list-style: none;
       font-size: 12px;

+ 34 - 34
src/components/process/Contract.vue

@@ -114,7 +114,7 @@
       <template #commodity>
         <div style="width: 100%">
           <el-button @click="openProduct = true">添加商品</el-button>
-          <el-table :data="formData.data.quotationProductList" style="width: 100%; margin-top: 16px">
+          <el-table :data="formData.data.contractProductList" style="width: 100%; margin-top: 16px">
             <el-table-column label="商品图片" width="80">
               <template #default="{ row }">
                 <div v-if="row.productId">
@@ -127,7 +127,7 @@
             <el-table-column label="商品名称">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationProductList.' + $index + '.productName'" :rules="rules.productName" :inline-message="true">
+                  <el-form-item :prop="'contractProductList.' + $index + '.productName'" :rules="rules.productName" :inline-message="true">
                     <el-input v-model="row.productName" placeholder="请输入商品名称" />
                   </el-form-item>
                 </div>
@@ -136,7 +136,7 @@
             <el-table-column label="规格型号" width="180">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationProductList.' + $index + '.productModel'" :rules="rules.productModel" :inline-message="true">
+                  <el-form-item :prop="'contractProductList.' + $index + '.productModel'" :rules="rules.productModel" :inline-message="true">
                     <el-input v-model="row.productModel" placeholder="请输入规格型号" />
                   </el-form-item>
                 </div>
@@ -146,7 +146,7 @@
             <el-table-column label="数量" width="160">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationProductList.' + $index + '.quantity'" :rules="rules.quantity" :inline-message="true">
+                  <el-form-item :prop="'contractProductList.' + $index + '.quantity'" :rules="rules.quantity" :inline-message="true">
                     <el-input-number
                       v-model="row.quantity"
                       placeholder="请输入数量"
@@ -162,7 +162,7 @@
             <el-table-column label="单价" width="160">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationProductList.' + $index + '.price'" :rules="rules.price" :inline-message="true">
+                  <el-form-item :prop="'contractProductList.' + $index + '.price'" :rules="rules.price" :inline-message="true">
                     <el-input-number
                       v-model="row.price"
                       placeholder="请输入单价"
@@ -188,11 +188,11 @@
       <template #otherCharge>
         <div style="width: 100%">
           <el-button type="primary" @click="clickAdd()">添加行</el-button>
-          <el-table :data="formData.data.quotationPayList" style="width: 100%; margin-top: 16px">
+          <el-table :data="formData.data.contractProjectList" style="width: 100%; margin-top: 16px">
             <el-table-column label="收费项目" width="220">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationPayList.' + $index + '.payName'" :rules="rules.payName" :inline-message="true">
+                  <el-form-item :prop="'contractProjectList.' + $index + '.payName'" :rules="rules.payName" :inline-message="true">
                     <el-autocomplete v-model="row.payName" :fetch-suggestions="querySearch" clearable class="inline-input w-50" placeholder="请输入收费项目" />
                   </el-form-item>
                 </div>
@@ -201,7 +201,7 @@
             <el-table-column label="金额" width="180">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationPayList.' + $index + '.amount'" :rules="rules.amount" :inline-message="true">
+                  <el-form-item :prop="'contractProjectList.' + $index + '.amount'" :rules="rules.amount" :inline-message="true">
                     <el-input-number
                       v-model="row.amount"
                       placeholder="请输入金额"
@@ -217,7 +217,7 @@
             <el-table-column label="备注">
               <template #default="{ row, $index }">
                 <div style="width: 100%">
-                  <el-form-item :prop="'quotationPayList.' + $index + '.remark'">
+                  <el-form-item :prop="'contractProjectList.' + $index + '.remark'">
                     <el-input v-model="row.remark" placeholder="请输入备注" />
                   </el-form-item>
                 </div>
@@ -422,8 +422,8 @@ const openProduct = ref(false);
 const formData = reactive({
   data: {
     amount: undefined,
-    quotationProductList: [],
-    quotationPayList: [],
+    contractProductList: [],
+    contractProjectList: [],
     contractShipmentList: [],
   },
 });
@@ -780,7 +780,7 @@ const handlePerson = (item) => {
 };
 const pushGoods = (goods) => {
   if (goods && goods.length > 0) {
-    formData.data.quotationProductList = formData.data.quotationProductList.concat(
+    formData.data.contractProductList = formData.data.contractProductList.concat(
       goods.map((item) => {
         let fileUrl = "";
         if (item.fileList && item.fileList.length > 0) {
@@ -901,9 +901,9 @@ const onPreviewFile = (file) => {
 };
 const submitHandoverForm = () => {
   if (fileList.value && fileList.value.length > 0) {
-    formData.data.quotationProductList[productIndex.value].remark = productRow.data.remark;
+    formData.data.contractProductList[productIndex.value].remark = productRow.data.remark;
     if (fileList.value && fileList.value.length > 0) {
-      formData.data.quotationProductList[productIndex.value].fileList = fileList.value.map((item) => {
+      formData.data.contractProductList[productIndex.value].fileList = fileList.value.map((item) => {
         return {
           id: item.raw.id,
           fileName: item.raw.fileName,
@@ -911,23 +911,23 @@ const submitHandoverForm = () => {
         };
       });
     } else {
-      formData.data.quotationProductList[productIndex.value].fileList = [];
+      formData.data.contractProductList[productIndex.value].fileList = [];
     }
     openHandover.value = false;
   }
 };
 const handleRemove = (index) => {
-  formData.data.quotationProductList.splice(index, 1);
+  formData.data.contractProductList.splice(index, 1);
 };
 const calculationAmount = () => {
   nextTick(() => {
-    if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
-      for (let i = 0; i < formData.data.quotationProductList.length; i++) {
+    if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
+      for (let i = 0; i < formData.data.contractProductList.length; i++) {
         let money = 0;
-        if (formData.data.quotationProductList[i].quantity && formData.data.quotationProductList[i].price) {
-          money = parseFloat(Number(formData.data.quotationProductList[i].quantity) * Number(formData.data.quotationProductList[i].price)).toFixed(2);
+        if (formData.data.contractProductList[i].quantity && formData.data.contractProductList[i].price) {
+          money = parseFloat(Number(formData.data.contractProductList[i].quantity) * Number(formData.data.contractProductList[i].price)).toFixed(2);
         }
-        formData.data.quotationProductList[i].amount = money;
+        formData.data.contractProductList[i].amount = money;
       }
     }
     nextTick(() => {
@@ -937,31 +937,31 @@ const calculationAmount = () => {
 };
 const totalAmount = () => {
   let money = 0;
-  if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
-    for (let i = 0; i < formData.data.quotationProductList.length; i++) {
-      if (formData.data.quotationProductList[i].amount) {
-        money = parseFloat(Number(money) + Number(formData.data.quotationProductList[i].amount)).toFixed(2);
+  if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
+    for (let i = 0; i < formData.data.contractProductList.length; i++) {
+      if (formData.data.contractProductList[i].amount) {
+        money = parseFloat(Number(money) + Number(formData.data.contractProductList[i].amount)).toFixed(2);
       }
     }
   }
-  if (formData.data.quotationPayList && formData.data.quotationPayList.length > 0) {
-    for (let i = 0; i < formData.data.quotationPayList.length; i++) {
-      if (formData.data.quotationPayList[i].amount) {
-        money = parseFloat(Number(money) + Number(formData.data.quotationPayList[i].amount)).toFixed(2);
+  if (formData.data.contractProjectList && formData.data.contractProjectList.length > 0) {
+    for (let i = 0; i < formData.data.contractProjectList.length; i++) {
+      if (formData.data.contractProjectList[i].amount) {
+        money = parseFloat(Number(money) + Number(formData.data.contractProjectList[i].amount)).toFixed(2);
       }
     }
   }
   formData.data.amount = money;
 };
 const clickAdd = () => {
-  if (formData.data.quotationPayList && formData.data.quotationPayList.length > 0) {
-    formData.data.quotationPayList.push({ payName: "", amount: undefined, remark: "" });
+  if (formData.data.contractProjectList && formData.data.contractProjectList.length > 0) {
+    formData.data.contractProjectList.push({ payName: "", amount: undefined, remark: "" });
   } else {
-    formData.data.quotationPayList = [{ payName: "", amount: undefined, remark: "" }];
+    formData.data.contractProjectList = [{ payName: "", amount: undefined, remark: "" }];
   }
 };
 const handleDelete = (index) => {
-  formData.data.quotationPayList.splice(index, 1);
+  formData.data.contractProjectList.splice(index, 1);
 };
 const querySearch = (queryString, callback) => {
   proxy.post("/quotationPay/page", { payName: queryString }).then((res) => {
@@ -993,7 +993,7 @@ const clickDelete = (index) => {
 const handleSubmit = async () => {
   let status = await submit.value.handleSubmit(() => {});
   if (status) {
-    if (formData.data.quotationProductList && formData.data.quotationProductList.length > 0) {
+    if (formData.data.contractProductList && formData.data.contractProductList.length > 0) {
       return true;
     } else {
       ElMessage("请添加至少一件商品");

+ 6 - 6
src/components/process/SendPurchase.vue

@@ -144,13 +144,13 @@
         </el-col>
       </el-row>
     </el-form>
+    <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
+      <SelectGoods
+        @cancel="openProduct = false"
+        @pushGoods="pushGoods"
+      ></SelectGoods>
+    </el-dialog>
   </div>
-  <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
-    <SelectGoods
-      @cancel="openProduct = false"
-      @pushGoods="pushGoods"
-    ></SelectGoods>
-  </el-dialog>
 </template>
 
 <script setup>

+ 6 - 6
src/components/process/SendSubscribe.vue

@@ -94,13 +94,13 @@
         </el-table>
       </el-form-item>
     </el-form>
+    <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
+      <SelectGoods
+        @cancel="openProduct = false"
+        @pushGoods="pushGoods"
+      ></SelectGoods>
+    </el-dialog>
   </div>
-  <el-dialog v-model="openProduct" title="选择货品" width="70%" append-to-body>
-    <SelectGoods
-      @cancel="openProduct = false"
-      @pushGoods="pushGoods"
-    ></SelectGoods>
-  </el-dialog>
 </template>
 
 <script setup>

+ 25 - 25
src/components/product/treeList.vue

@@ -51,33 +51,33 @@
         </div>
       </template>
     </el-tree>
-  </div>
-  <el-dialog
-    :title="treeModalType == 'add' ? '添加分类' : '编辑分类'"
-    v-model="treeModal"
-    width="400"
-    v-loading="loading"
-  >
-    <byForm
-      :formConfig="formConfig"
-      :formOption="formOption"
-      v-model="formData.data"
-      :rules="rules"
-      ref="byform"
+    <el-dialog
+      :title="treeModalType == 'add' ? '添加分类' : '编辑分类'"
+      v-model="treeModal"
+      width="400"
+      v-loading="loading"
     >
-    </byForm>
-    <template #footer>
-      <el-button @click="treeModal = false" size="large">取 消</el-button>
-      <el-button
-        type="primary"
-        @click="submitForm('byform')"
-        size="large"
-        :loading="submitLoading"
+      <byForm
+        :formConfig="formConfig"
+        :formOption="formOption"
+        v-model="formData.data"
+        :rules="rules"
+        ref="byform"
       >
-        确 定
-      </el-button>
-    </template>
-  </el-dialog>
+      </byForm>
+      <template #footer>
+        <el-button @click="treeModal = false" size="large">取 消</el-button>
+        <el-button
+          type="primary"
+          @click="submitForm('byform')"
+          size="large"
+          :loading="submitLoading"
+        >
+          确 定
+        </el-button>
+      </template>
+    </el-dialog>
+  </div>
 </template>
 <script setup>
 import { toRaw } from "vue";

+ 7 - 7
src/components/webDiskData/treeList.vue

@@ -37,14 +37,14 @@
         </div>
       </template>
     </el-tree>
+    <el-dialog :title="treeModalType == 'add' ? '添加目录' : '编辑目录'" v-model="treeModal" width="400" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit"> </byForm>
+      <template #footer>
+        <el-button @click="treeModal = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading"> 确 定 </el-button>
+      </template>
+    </el-dialog>
   </div>
-  <el-dialog :title="treeModalType == 'add' ? '添加目录' : '编辑目录'" v-model="treeModal" width="400" v-loading="loading">
-    <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit"> </byForm>
-    <template #footer>
-      <el-button @click="treeModal = false" size="large">取 消</el-button>
-      <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading"> 确 定 </el-button>
-    </template>
-  </el-dialog>
 </template>
 <script setup>
 import { ElMessage, ElMessageBox } from "element-plus";

+ 2 - 0
src/layout/components/TagsView/index.vue

@@ -65,6 +65,7 @@ const routes = computed(() => usePermissionStore().routes);
 const theme = computed(() => useSettingsStore().theme);
 
 watch(route, () => {
+  
   addTags()
   moveToCurrentTag()
 })
@@ -140,6 +141,7 @@ function initTags() {
 }
 function addTags() {
   const { name } = route
+  console.log(route)
   if (name) {
     useTagsViewStore().addView(route)
     if (route.meta.link) {

+ 7 - 0
src/layout/index.vue

@@ -122,4 +122,11 @@ function setLayout() {
 .mobile .fixed-header {
   width: 100%;
 }
+
+::v-deep(.is-text) {
+  outline: 0px !important;
+}
+::v-deep(.el-button:focus-visible) {
+  outline: 0px !important;
+}
 </style>

+ 26 - 26
src/views/WDLY/process/processApproval/index.vue

@@ -56,39 +56,37 @@
         <el-tab-pane label="决策辅助" name="second">决策辅助</el-tab-pane>
       </el-tabs>
     </div>
-  </div>
-  <el-dialog title="下一处理人" width="400" v-model="dialogVisible">
-    <el-form :model="flowForm">
-      <el-form-item prop="remark" label="处理人">
-        <el-select
-          v-model="flowForm.handleUserId"
-          placeholder="请选择"
-          filterable
-          style="width: 100%"
-        >
-          <el-option
-            v-for="item in nextHandleUser"
-            :label="item.name"
-            :value="item.id"
+    <el-dialog title="下一处理人" width="400" v-model="dialogVisible">
+      <el-form :model="flowForm">
+        <el-form-item prop="remark" label="处理人">
+          <el-select
+            v-model="flowForm.handleUserId"
+            placeholder="请选择"
+            filterable
+            style="width: 100%"
           >
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <div style="width: 100%; text-align: center">
-          <el-button type="primary" @click="handleSelectUser">提交 </el-button>
-        </div>
-      </el-form-item>
-    </el-form>
-  </el-dialog>
+            <el-option
+              v-for="item in nextHandleUser"
+              :label="item.name"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <div style="width: 100%; text-align: center">
+            <el-button type="primary" @click="handleSelectUser">提交 </el-button>
+          </div>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
 </template>
 
 
 
 <script setup>
 import { useRouter, useRoute } from "vue-router";
-const router = useRouter();
-const route = useRoute();
 //申购发起
 import SendSubscribe from "@/components/WDLY/process/SendSubscribe";
 //采购发起
@@ -99,6 +97,8 @@ import SendFunds from "@/components/WDLY/process/SendFunds";
 import ReturnGood from "@/components/WDLY/process/ReturnGood";
 // 消息提示
 import { ElMessage, ElMessageBox } from "element-plus";
+const router = useRouter();
+const route = useRoute();
 // tab切换逻辑
 const activeName = ref("first");
 const handleClick = (tab, event) => {

+ 29 - 33
src/views/finance/fundManage/accountPayment/index.vue

@@ -28,7 +28,7 @@
 			</byTable>
 		</div>
 		<el-dialog
-			:title="modalType == 'add' ? '添加' : '编辑'"
+			:title="modalType == 'add' ? '打款' : '打款'"
 			v-model="dialogVisible"
 			width="500"
 			v-loading="loading"
@@ -154,9 +154,9 @@ const config = computed(() => {
 			attrs: {
 				label: '付款类型',
 				prop: 'type',
-				render(type) {
-					return proxy.dictDataEcho(type, dictsData.value.payment_type)
-				},
+			},
+			render(type) {
+				return proxy.dictDataEcho(type, dictsData.payment_status)
 			},
 		},
 		{
@@ -180,20 +180,25 @@ const config = computed(() => {
 		{
 			attrs: {
 				label: '金额',
-				prop: 'total',
+				prop: 'amount',
 			},
 		},
 		{
 			attrs: {
 				label: '款项说明',
-				prop: 'paymentRemarks',
+				prop: 'paymentRemark',
 			},
 		},
 		{
 			attrs: {
 				label: '打款状态',
 				prop: 'status',
+				
 			},
+			render(status) {
+				return proxy.dictDataEcho(status, dictsData.payment_type)
+			},
+
 		},
 		{
 			attrs: {
@@ -206,46 +211,26 @@ const config = computed(() => {
 				return [
 					{
 						attrs: {
-							label: '查看',
+							label: '打款',
 							type: 'primary',
 							text: true,
 						},
 						el: 'button',
 						click() {
+							formOption.disabled = false
 							getDtl(row)
 						},
 					},
 					{
 						attrs: {
-							label: '删除',
-							type: 'danger',
+							label: '查看',
+							type: 'primary',
 							text: true,
 						},
 						el: 'button',
 						click() {
-							// 弹窗提示是否删除
-							ElMessageBox.confirm(
-								'此操作将永久删除该数据, 是否继续?',
-								'提示',
-								{
-									confirmButtonText: '确定',
-									cancelButtonText: '取消',
-									type: 'warning',
-								}
-							).then(() => {
-								// 删除
-								proxy
-									.post('/productInfo/delete', {
-										id: row.id,
-									})
-									.then((res) => {
-										ElMessage({
-											message: '删除成功',
-											type: 'success',
-										})
-										getList()
-									})
-							})
+							formOption.disabled = true
+							getDtl(row)
 						},
 					},
 				]
@@ -262,6 +247,7 @@ const formOption = reactive({
 	labelWidth: 100,
 	itemWidth: 100,
 	rules: [],
+	disabled:false,
 })
 const byform = ref(null)
 const treeListData = ref([])
@@ -400,12 +386,22 @@ const getList = async (req) => {
 const uploadData = ref({})
 const fileList = ref([])
 const fileListCopy = ref([])
-let dictsData = reactive({})
+let dictsData = reactive({
+	payment_status: [],
+	payment_type: [],
+	account_currency: [],
+})
 proxy
 	.getDict(['payment_status', 'payment_type','account_currency'])
 	.then((res) => {
 		dictsData = res
 		console.log(res)
+		selectConfig.value[0].data = res.payment_status.map(item => {
+			return {
+				label: item.dictValue,
+				value: item.dictKey,
+			}
+		})
 		formConfig.value[11].data = res.account_currency.map(item => {
 			return {
 				label: item.dictValue,

+ 219 - 0
src/views/finance/fundManage/fundsStatement/index.vue

@@ -0,0 +1,219 @@
+<template>
+	<div class="fundsStatement">
+		<el-form :inline="true" :model="req" class="demo-form-inline">
+			
+			<el-form-item label="资金账户">
+				<el-select
+					v-model="req.managementId"
+					placeholder="请输入"
+				>
+					<el-option label="全部" value=""></el-option>
+					<el-option :label="i.name" :value="i.id" v-for="i in accountManagementData" :key='i.id' />
+				</el-select>
+			</el-form-item>
+			<el-form-item label="时间">
+				<!-- 选单月 -->
+				<el-date-picker
+					v-model="req.dateBetween"
+					type="month"
+					format="YYYY/MM"
+        			value-format="YYYY-MM"
+					placeholder="选择日期"
+				></el-date-picker>
+			</el-form-item>
+			<el-form-item>
+				<el-button type="primary" @click="getList">搜索</el-button>
+			</el-form-item>
+		</el-form>
+		<!--  -->
+		<el-table
+			:data="tableData"
+			style="width: 100%"
+			:span-method="objectSpanMethod"
+		>
+			<el-table-column
+				prop="accountManagementAlias"
+				label="账户信息"
+				width="400"
+				fixed
+			>
+				<template #default="{ row }">
+					<div class="account-box">
+						<div class="text">
+							<div class="account">账户名称:{{row.accountManagementAlias}}</div>
+							<div class="company">{{row.corporationName}}</div>
+						</div>
+						<div class="img"></div>
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column
+				prop="currencyType"
+				label="币种"
+				width="150"
+				fixed
+			/>
+			<el-table-column
+				:label="index + '日'"
+				v-for="index of dayNum"
+				:key="index"
+			>
+				<el-table-column :prop="index + 'income'" label="收入" />
+				<el-table-column :prop="index + 'expenditure'" label="支出" />
+				<el-table-column :prop="index + 'balance'" label="余额" />
+			</el-table-column>
+		</el-table>
+	</div>
+</template>
+<script setup>
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { formatDate } from '@/utils/index'
+const { proxy } = getCurrentInstance()
+const loading = ref(false)
+let tableData = ref([])
+const dayNum = ref(0)
+const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
+	if (columnIndex === 0) {
+		const _row = flitterData(tableData.value).one[rowIndex]
+		const _col = _row > 0 ? 1 : 0
+		return {
+			rowspan: _row,
+			colspan: _col,
+		}
+	}
+}
+const flitterData = (arr) => {
+	let spanOneArr = []
+	let concatOne = 0
+	arr.forEach((item, index) => {
+		if (index === 0) {
+			spanOneArr.push(1)
+		} else {
+			//注意这里的quarterly是表格绑定的字段,根据自己的需求来改
+			if (
+				item.accountManagementAlias ===
+				arr[index - 1].accountManagementAlias
+			) {
+				//第一列需合并相同内容的判断条件
+				spanOneArr[concatOne] += 1
+				spanOneArr.push(0)
+			} else {
+				spanOneArr.push(1)
+				concatOne = index
+			}
+		}
+	})
+	return {
+		one: spanOneArr,
+	}
+}
+
+let req = ref({
+	dateBetween: formatDate(new Date(), 'yyyy-MM'),
+	managementId:null,
+})
+
+const getList = async () => {
+	console.log(req.value,123123123)
+	loading.value = true
+	proxy
+		.post('/accountStatement/capitalDaily',req.value)
+		.then((message) => {
+			console.log(message)
+			let arr = []
+			//公司循环
+			for (let i = 0; i < message.length; i++) {
+				const element = message[i]
+				//公司下的管理账户循环
+				for (let j = 0; j < element.managementList.length; j++) {
+					const jelement = element.managementList[j]
+					//管理账户下的币种循环
+					for (let k = 0; k < jelement.currencyList.length; k++) {
+						const kelement = jelement.currencyList[k]
+						let obj = {
+							corporationName: element.corporationName,
+							accountManagementAlias:
+								jelement.accountManagementAlias,
+							currencyType: kelement.currencyType,
+						}
+						//币种下的日期循环
+						for (
+							let l = 0;
+							l < kelement.flowingWaterList.length;
+							l++
+						) {
+							const lelement = kelement.flowingWaterList[l]
+							obj[lelement.day + 'balance'] = lelement.balance
+							obj[lelement.day + 'income'] = lelement.income
+							obj[lelement.day + 'expenditure'] =
+								lelement.expenditure
+						}
+						dayNum.value = kelement.flowingWaterList.length
+						arr.push(obj)
+					}
+				}
+			}
+			console.log(arr)
+			tableData.value = arr
+		})
+}
+const accountManagementData = ref([])
+const getAccountManagement = async () => {
+	proxy
+		.post('/accountManagement/page',{pageNum:1,pageSize:10000})
+		.then((message) => {
+			accountManagementData.value = message.rows
+		})
+}
+getList()
+getAccountManagement()
+</script>
+<style lang="scss">
+.fundsStatement {
+	padding: 20px;
+	margin: 20px;
+	background: #fff;
+	.account-box {
+		width: 360px;
+		height: 102px;
+		background: #eff6ff;
+		display: flex;
+		justify-content: space-between;
+		padding: 20px 10px 20px 33px;
+		margin: 20px 10px;
+		box-shadow: 0px 2px 10px 1px rgba(153, 153, 153, 0.1);
+		border-radius: 10px;
+		overflow: hidden;
+		position: relative;
+		.img {
+			width: 60px;
+			height: 60px;
+			background: url(../../../../assets/images/icon_zhangh1.png)
+				no-repeat;
+		}
+		.text {
+			padding-top: 10px;
+			.account {
+				color: #333;
+				font-size: 20px;
+				font-weight: bold;
+			}
+			.company {
+				color: #999;
+				font-weight: 400;
+				font-size: 14px;
+				margin-top: 10px;
+			}
+		}
+	}
+	.account-box:before {
+		content: '';
+		width: 10px;
+		height: 102px;
+		background: #0084ff;
+		position: absolute;
+		left: 0;
+		top: 0;
+	}
+}
+</style>

+ 25 - 24
src/views/process/processApproval/index.vue

@@ -85,31 +85,32 @@
         <el-tab-pane label="决策辅助" name="second">决策辅助</el-tab-pane>
       </el-tabs>
     </div>
-  </div>
-  <el-dialog title="下一处理人" width="400" v-model="dialogVisible">
-    <el-form :model="flowForm">
-      <el-form-item prop="remark" label="处理人">
-        <el-select
-          v-model="flowForm.handleUserId"
-          placeholder="请选择"
-          filterable
-          style="width: 100%"
-        >
-          <el-option
-            v-for="item in nextHandleUser"
-            :label="item.name"
-            :value="item.id"
+    
+    <el-dialog title="下一处理人" width="400" v-model="dialogVisible">
+      <el-form :model="flowForm">
+        <el-form-item prop="remark" label="处理人">
+          <el-select
+            v-model="flowForm.handleUserId"
+            placeholder="请选择"
+            filterable
+            style="width: 100%"
           >
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item>
-        <div style="width: 100%; text-align: center">
-          <el-button type="primary" @click="handleSelectUser">提交</el-button>
-        </div>
-      </el-form-item>
-    </el-form>
-  </el-dialog>
+            <el-option
+              v-for="item in nextHandleUser"
+              :label="item.name"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <div style="width: 100%; text-align: center">
+            <el-button type="primary" @click="handleSelectUser">提交</el-button>
+          </div>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
 </template>
 
 <script setup>

+ 322 - 0
src/views/publicModule/documentary/index.vue

@@ -0,0 +1,322 @@
+<template>
+  <div class="tenant">
+    <div class="content">
+      <byTable
+        :source="sourceList.data"
+        :pagination="sourceList.pagination"
+        :config="config"
+        :loading="loading"
+        :selectConfig="selectConfig"
+        highlight-current-row
+        :action-list="[
+          {
+            text: '添加节点',
+            action: () => openModal(),
+          },
+        ]"
+        @get-list="getList">
+      </byTable>
+    </div>
+
+    <el-dialog :title="modalType == 'add' ? '添加节点' : '编辑节点'" v-if="dialogVisible" v-model="dialogVisible" width="500" v-loading="loadingDialog">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="submit">
+        <!-- <template #balance>
+            <div style="width: 100%">
+              <el-button type="primary" @click="clickBalance">添加</el-button>
+            </div>
+          </template> -->
+      </byForm>
+      <template #footer>
+        <el-button @click="dialogVisible = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitForm()" size="large">确 定</el-button>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup>
+import { computed, ref } from "vue";
+import byTable from "@/components/byTable/index";
+import byForm from "@/components/byForm/index";
+import useUserStore from "@/store/modules/user";
+import { ElMessage, ElMessageBox } from "element-plus";
+
+const { proxy } = getCurrentInstance();
+const documentaryType = ref([]);
+const documentaryBind = ref([]);
+const sourceList = ref({
+  data: [],
+  pagination: {
+    total: 0,
+    pageNum: 1,
+    pageSize: 10,
+    type: "",
+    keyword: "",
+  },
+});
+const loading = ref(false);
+const selectConfig = computed(() => {
+  return [
+    {
+      label: "跟单类型",
+      prop: "type",
+      data: documentaryType.value,
+    },
+  ];
+});
+const config = computed(() => {
+  return [
+    {
+      attrs: {
+        label: "跟单类型",
+        prop: "type",
+        width: 160,
+      },
+      render(type) {
+        let text = "";
+        if (documentaryType.value && documentaryType.value.length > 0) {
+          let data = documentaryType.value.filter((item) => item.value == type);
+          if (data && data.length > 0) {
+            text = data[0].label;
+          }
+        }
+        return text;
+      },
+    },
+    {
+      attrs: {
+        label: "节点名称",
+        prop: "name",
+        width: 240,
+      },
+    },
+    {
+      attrs: {
+        label: "节点排序",
+        prop: "sort",
+        width: 140,
+      },
+    },
+    {
+      attrs: {
+        label: "绑定类型",
+        prop: "bind",
+        width: 160,
+      },
+      render(type) {
+        let text = "";
+        if (documentaryBind.value && documentaryBind.value.length > 0) {
+          let data = documentaryBind.value.filter((item) => item.value == type);
+          if (data && data.length > 0) {
+            text = data[0].label;
+          }
+        }
+        return text;
+      },
+    },
+    {
+      attrs: {
+        label: "备注",
+        prop: "remark",
+      },
+    },
+    {
+      attrs: {
+        label: "操作",
+        width: "120",
+        align: "center",
+      },
+      renderHTML(row) {
+        return [
+          {
+            attrs: {
+              label: "修改",
+              type: "primary",
+              text: true,
+            },
+            el: "button",
+            click() {
+              update(row);
+            },
+          },
+          {
+            attrs: {
+              label: "删除",
+              type: "primary",
+              text: true,
+            },
+            el: "button",
+            click() {
+              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(() => {
+                proxy
+                  .post("/documentary/delete", {
+                    id: row.id,
+                  })
+                  .then(() => {
+                    ElMessage({
+                      message: "删除成功",
+                      type: "success",
+                    });
+                    getList();
+                  });
+              });
+            },
+          },
+        ];
+      },
+    },
+  ];
+});
+const getDict = () => {
+  proxy
+    .post("/dictTenantData/page", {
+      pageNum: 1,
+      pageSize: 999,
+      dictCode: "documentary_type",
+      tenantId: useUserStore().user.tenantId,
+    })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        documentaryType.value = res.rows.map((item) => {
+          return {
+            label: item.dictValue,
+            value: item.dictKey,
+          };
+        });
+      }
+    });
+  proxy
+    .post("/dictTenantData/page", {
+      pageNum: 1,
+      pageSize: 999,
+      dictCode: "documentary_bind",
+      tenantId: useUserStore().user.tenantId,
+    })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        documentaryBind.value = res.rows.map((item) => {
+          return {
+            label: item.dictValue,
+            value: item.dictKey,
+          };
+        });
+      }
+    });
+};
+getDict();
+const getList = async (req) => {
+  sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
+  loading.value = true;
+  proxy.post("/documentary/page", sourceList.value.pagination).then((res) => {
+    sourceList.value.data = res.rows;
+    sourceList.value.pagination.total = res.total;
+    setTimeout(() => {
+      loading.value = false;
+    }, 200);
+  });
+};
+getList();
+const modalType = ref("add");
+const dialogVisible = ref(false);
+const loadingDialog = ref(false);
+const submit = ref(null);
+const formOption = reactive({
+  inline: true,
+  labelWidth: 100,
+  itemWidth: 100,
+  rules: [],
+});
+const formConfig = computed(() => {
+  return [
+    {
+      type: "select",
+      prop: "type",
+      label: "跟单类型",
+      data: documentaryType.value,
+    },
+    {
+      type: "input",
+      prop: "name",
+      label: "节点名称",
+    },
+    {
+      type: "number",
+      prop: "sort",
+      label: "节点排序",
+      precision: 0,
+      max: 9999,
+      controls: false,
+    },
+    {
+      type: "select",
+      prop: "bind",
+      label: "绑定类型",
+      data: documentaryBind.value,
+    },
+    {
+      type: "input",
+      prop: "remark",
+      label: "备注",
+      itemType: "textarea",
+    },
+  ];
+});
+const rules = ref({
+  type: [{ required: true, message: "请选择跟单类型", trigger: "change" }],
+  name: [{ required: true, message: "请输入节点名称", trigger: "blur" }],
+  sort: [{ required: true, message: "请输入节点排序", trigger: "blur" }],
+  bind: [{ required: true, message: "请输入绑定功能", trigger: "blur" }],
+});
+const formData = reactive({
+  data: {},
+});
+const openModal = () => {
+  modalType.value = "add";
+  formData.data = {};
+  loadingDialog.value = false;
+  dialogVisible.value = true;
+};
+const submitForm = () => {
+  submit.value.handleSubmit(() => {
+    loadingDialog.value = true;
+    proxy.post("/documentary/" + modalType.value, formData.data).then(
+      () => {
+        ElMessage({
+          message: modalType.value == "add" ? "添加成功" : "编辑成功",
+          type: "success",
+        });
+        dialogVisible.value = false;
+        getList();
+      },
+      (err) => {
+        console.log(err);
+        loadingDialog.value = false;
+      }
+    );
+  });
+};
+const update = (row) => {
+  modalType.value = "edit";
+  loadingDialog.value = true;
+  proxy.post("/documentary/detail", { id: row.id }).then((res) => {
+    res.type = res.type + "";
+    res.bind = res.bind + "";
+    formData.data = res;
+    loadingDialog.value = false;
+  });
+  dialogVisible.value = true;
+};
+</script>
+
+<style lang="scss" scoped>
+.tenant {
+  padding: 20px;
+}
+::v-deep(.el-input-number .el-input__inner) {
+  text-align: left;
+}
+</style>

+ 124 - 40
src/views/salesMange/saleContract/contract/index.vue

@@ -21,6 +21,12 @@
             <span>{{ moneyFormat(item.amount, 2) }}</span>
           </div>
         </template>
+        <template #aaaaa="{ item }">
+          <div>
+            <!-- <span style="padding-right: 4px">{{ item.currency }}</span>
+            <span>{{ moneyFormat(item.amount, 2) }}</span> -->
+          </div>
+        </template>
         <template #advanceRatio="{ item }">
           <div>
             <span>{{ item.advanceRatio }}%</span>
@@ -35,10 +41,12 @@
 import { computed, ref } from "vue";
 import byTable from "@/components/byTable/index";
 import useUserStore from "@/store/modules/user";
+import { ElMessage, ElMessageBox } from "element-plus";
 
 const { proxy } = getCurrentInstance();
-const accountList = ref([]);
+const contractType = ref([]);
 const corporationList = ref([]);
+const customerList = ref([]);
 const status = ref([
   {
     label: "草稿",
@@ -61,6 +69,20 @@ const status = ref([
     value: 99,
   },
 ]);
+const refundStatus = ref([
+  {
+    label: "未到款",
+    value: 0,
+  },
+  {
+    label: "部分到款",
+    value: 10,
+  },
+  {
+    label: "已到款",
+    value: 20,
+  },
+]);
 const sourceList = ref({
   data: [],
   pagination: {
@@ -81,23 +103,21 @@ const selectConfig = computed(() => {
       data: status.value,
     },
     {
-      label: "归属公司",
-      prop: "sellCorporationId",
-      data: corporationList.value,
+      label: "到款状态",
+      prop: "refundStatus",
+      data: refundStatus.value,
     },
+    // {
+    //   label: "归属公司",
+    //   prop: "sellCorporationId",
+    //   data: corporationList.value,
+    // },
   ];
 });
 const config = computed(() => {
   return [
     {
       attrs: {
-        label: "报价单号",
-        prop: "code",
-        width: 200,
-      },
-    },
-    {
-      attrs: {
         label: "归属公司",
         prop: "sellCorporationId",
       },
@@ -114,36 +134,76 @@ const config = computed(() => {
     },
     {
       attrs: {
-        label: "报价人",
-        prop: "userName",
-        width: 120,
+        label: "合同类型",
+        prop: "contractType",
+      },
+      render(type) {
+        let text = "";
+        if (contractType.value && contractType.value.length > 0) {
+          let data = contractType.value.filter((item) => item.value == type);
+          if (data && data.length > 0) {
+            text = data[0].label;
+          }
+        }
+        return text;
       },
     },
     {
       attrs: {
-        label: "报价时间",
-        prop: "createTime",
-        width: 160,
+        label: "合同编码",
+        prop: "code",
+        width: 180,
       },
     },
     {
       attrs: {
-        label: "客户名称",
+        label: "客户",
         prop: "buyCorporationId",
       },
+      render(type) {
+        let text = "";
+        if (customerList.value && customerList.value.length > 0) {
+          let data = customerList.value.filter((item) => item.value == type);
+          if (data && data.length > 0) {
+            text = data[0].label;
+          }
+        }
+        return text;
+      },
+    },
+    {
+      attrs: {
+        label: "版本号",
+        prop: "version",
+        width: 120,
+      },
     },
     {
       attrs: {
-        label: "报价金额",
+        label: "合同金额",
         slot: "amount",
         width: 140,
       },
     },
     {
       attrs: {
-        label: "预付比例",
-        slot: "advanceRatio",
-        width: 120,
+        label: "已到账金额",
+        slot: "aaaaa",
+        width: 140,
+      },
+    },
+    {
+      attrs: {
+        label: "业务员",
+        prop: "userName",
+        width: 140,
+      },
+    },
+    {
+      attrs: {
+        label: "创建时间",
+        prop: "createTime",
+        width: 160,
       },
     },
     {
@@ -173,24 +233,30 @@ const config = computed(() => {
         return [
           {
             attrs: {
-              label: "复制",
-              type: "primary",
-              text: true,
-            },
-            el: "button",
-            click() {
-              clickPrint(row);
-            },
-          },
-          {
-            attrs: {
-              label: "查看",
+              label: "作废",
               type: "primary",
               text: true,
             },
             el: "button",
             click() {
-              clickPrint(row);
+              ElMessageBox.confirm("此操作将永久删除该数据, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(() => {
+                proxy
+                  .post("/contract/edit", {
+                    id: row.id,
+                    status: 88,
+                  })
+                  .then(() => {
+                    ElMessage({
+                      message: "删除成功",
+                      type: "success",
+                    });
+                    getList();
+                  });
+              });
             },
           },
         ];
@@ -199,16 +265,34 @@ const config = computed(() => {
   ];
 });
 const getDict = () => {
-  proxy.post("/saleQuotation/page", { pageNum: 1, pageSize: 999 }).then((res) => {
-    accountList.value = res.rows.map((item) => {
+  proxy
+    .post("/dictTenantData/page", {
+      pageNum: 1,
+      pageSize: 999,
+      dictCode: "contract_type",
+      tenantId: useUserStore().user.tenantId,
+    })
+    .then((res) => {
+      if (res.rows && res.rows.length > 0) {
+        contractType.value = res.rows.map((item) => {
+          return {
+            label: item.dictValue,
+            value: item.dictKey,
+          };
+        });
+      }
+    });
+  proxy.post("/corporation/page", { pageNum: 1, pageSize: 999 }).then((res) => {
+    corporationList.value = res.rows.map((item) => {
       return {
-        label: item.alias,
+        ...item,
+        label: item.name,
         value: item.id,
       };
     });
   });
-  proxy.post("/corporation/page", { pageNum: 1, pageSize: 999 }).then((res) => {
-    corporationList.value = res.rows.map((item) => {
+  proxy.post("/customer/page", { pageNum: 1, pageSize: 999 }).then((res) => {
+    customerList.value = res.rows.map((item) => {
       return {
         ...item,
         label: item.name,

+ 56 - 113
src/views/system/tenant/index.vue

@@ -26,73 +26,30 @@
             action: () => openModal('add'),
           },
         ]"
-        @get-list="getList"
-      >
+        @get-list="getList">
         <template #slotName="{ item }">
           {{ item.createTime }}
         </template>
       </byTable>
     </div>
-    <el-dialog
-      :title="modalType == 'add' ? '新增' : '编辑'"
-      v-model="dialogVisible"
-      width="800"
-      v-loading="loading"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.data"
-        :rules="rules"
-        ref="byform"
-      >
-      </byForm>
+    <el-dialog :title="modalType == 'add' ? '新增' : '编辑'" v-model="dialogVisible" width="800" v-loading="loading">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.data" :rules="rules" ref="byform"> </byForm>
       <template #footer>
         <el-button @click="dialogVisible = false" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
-          确 定
-        </el-button>
+        <el-button type="primary" @click="submitForm('byform')" size="large" :loading="submitLoading"> 确 定 </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="权限配置"
-      v-model="roomDialogVisible"
-      width="500"
-      :before-close="handleClose"
-      v-loading="loading"
-    >
-      <el-tree
-        :data="treeData"
-        :show-checkbox="true"
-        v-model="formData.treeData"
-        ref="tree"
-        node-key="id"
-        @check-change="handleNodeClick"
-        :check-strictly="true"
-      >
-      </el-tree>
+
+    <el-dialog title="权限配置" v-if="roomDialogVisible" v-model="roomDialogVisible" width="500" :before-close="handleClose" v-loading="loading">
+      <el-tree :data="treeData" show-checkbox node-key="id" :default-checked-keys="formData.treeData" :props="defaultProps" ref="tree"> </el-tree>
       <template #footer>
-        <el-button @click="roomDialogVisible = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitTree('byform')"
-          size="large"
-          :loading="submitLoading"
-        >
-          确 定
-        </el-button>
+        <el-button @click="roomDialogVisible = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitTree()" size="large" :loading="submitLoading"> 确 定 </el-button>
       </template>
     </el-dialog>
   </div>
 </template>
-  
+
 <script setup>
 /* eslint-disable vue/no-unused-components */
 import { ElMessage, ElMessageBox } from "element-plus";
@@ -101,6 +58,11 @@ import byForm from "@/components/byForm/index";
 import { computed, defineComponent, ref } from "vue";
 const loading = ref(false);
 const submitLoading = ref(false);
+const defaultProps = {
+  children: "children",
+  label: "label",
+};
+const tree = ref(null)
 const sourceList = ref({
   data: [],
   pagination: {
@@ -113,11 +75,9 @@ let dialogVisible = ref(false);
 let roomDialogVisible = ref(false);
 let modalType = ref("add");
 let rules = ref({
-  tenantId: [{pattern: /^\w+$/, message: '请输入正确的租户号,禁止下划线外的其他符号,不区分大小写'}],
+  tenantId: [{ pattern: /^\w+$/, message: "请输入正确的租户号,禁止下划线外的其他符号,不区分大小写" }],
   password: [{ required: true, message: "请输入密码", trigger: "blur" }],
-  enterpriseName: [
-    { required: true, message: "请输入企业名称", trigger: "blur" },
-  ],
+  enterpriseName: [{ required: true, message: "请输入企业名称", trigger: "blur" }],
 });
 const { proxy } = getCurrentInstance();
 const selectConfig = computed(() => {
@@ -193,11 +153,7 @@ const config = computed(() => {
       },
       render(flowStatus) {
         //1审核中 2审核通过 3审核不通过
-        return flowStatus == 1
-          ? "审核中"
-          : flowStatus == 2
-          ? "审核通过"
-          : "审核不通过";
+        return flowStatus == 1 ? "审核中" : flowStatus == 2 ? "审核通过" : "审核不通过";
       },
     },
     {
@@ -315,7 +271,7 @@ const formConfig = computed(() => {
       type: "input",
       prop: "enterpriseName",
       label: "企业名称",
-      maxlength:100
+      maxlength: 100,
     },
     {
       type: "radio",
@@ -348,16 +304,14 @@ const formConfig = computed(() => {
 const getList = async (req) => {
   sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
   loading.value = true;
-  proxy
-    .post("/tenantInfo/page", sourceList.value.pagination)
-    .then((message) => {
-      console.log(message);
-      sourceList.value.data = message.rows;
-      sourceList.value.pagination.total = message.total;
-      setTimeout(() => {
-        loading.value = false;
-      }, 200);
-    });
+  proxy.post("/tenantInfo/page", sourceList.value.pagination).then((message) => {
+    console.log(message);
+    sourceList.value.data = message.rows;
+    sourceList.value.pagination.total = message.total;
+    setTimeout(() => {
+      loading.value = false;
+    }, 200);
+  });
 };
 const openModal = () => {
   dialogVisible.value = true;
@@ -372,26 +326,15 @@ const select = (_selection, row) => {
   console.log(_selection.length);
 };
 const openRoomModal = () => {
-  roomDialogVisible.value = true;
-
-  proxy
-    .get("/tenantInfo/roleMenuTreeSelect/" + selection.value.data[0].tenantId)
-    .then((res) => {
-      if (res.code == 200) {
-        treeData.value = res.menus;
-        formData.treeData = res.checkedKeys;
-        tree.value.setCheckedKeys(res.checkedKeys);
-      }
-    });
+  proxy.get("/tenantInfo/roleMenuTreeSelect/" + selection.value.data[0].tenantId).then((res) => {
+    console.log(res);
+    if (res.code == 200) {
+      formData.treeData = res.checkedKeys;
+      treeData.value = res.menus;
+      roomDialogVisible.value = true;
+    }
+  });
 };
-const tree = ref(null);
-
-const handleNodeClick = (e) => {
-
-  
-  
-}
-
 const submitTree = () => {
   proxy
     .post("/tenantInfo/bindingMenu", {
@@ -408,21 +351,23 @@ const submitTree = () => {
 };
 
 const submitForm = () => {
-  console.log(byform.value);
   byform.value.handleSubmit((valid) => {
     submitLoading.value = true;
 
-    proxy.post("/tenantInfo/" + modalType.value, formData.data).then((res) => {
-      ElMessage({
-        message: modalType.value == "add" ? "添加成功" : "编辑成功",
-        type: "success",
+    proxy
+      .post("/tenantInfo/" + modalType.value, formData.data)
+      .then((res) => {
+        ElMessage({
+          message: modalType.value == "add" ? "添加成功" : "编辑成功",
+          type: "success",
+        });
+        dialogVisible.value = false;
+        submitLoading.value = false;
+        getList();
+      })
+      .catch((err) => {
+        submitLoading.value = false;
       });
-      dialogVisible.value = false;
-      submitLoading.value = false;
-      getList();
-    }).catch((err)=>{
-      submitLoading.value = false;
-    });
   });
 };
 
@@ -447,23 +392,21 @@ const changeStatus = (row) => {
       type: "warning",
     }).then(() => {
       // 删除
-      proxy
-        .post("/tenantInfo/" + modalType.value, formData.data)
-        .then((res) => {
-          ElMessage({
-            message: "操作成功",
-            type: "success",
-          });
-          getList();
+      proxy.post("/tenantInfo/" + modalType.value, formData.data).then((res) => {
+        ElMessage({
+          message: "操作成功",
+          type: "success",
         });
+        getList();
+      });
     });
   });
 };
 getList();
 </script>
-  
+
 <style lang="scss" scoped>
 .tenant {
   padding: 20px;
 }
-</style>
+</style>