ezhizao_zx 1 yıl önce
ebeveyn
işleme
c787362919

+ 364 - 93
src/views/business/crm/order/index.vue

@@ -2,8 +2,14 @@
   <div class="page-container list-container">
     <!-- 功能按钮区 -->
     <div class="list-btns-container">
-      <el-button type="primary" size="small" icon="Plus" @click="handleAdd"
-        v-hasPermi="['business:archive:order:add']">新增</el-button>
+      <el-button
+        type="primary"
+        size="small"
+        icon="Plus"
+        @click="handleAdd"
+        v-hasPermi="['business:archive:order:add']"
+        >新增</el-button
+      >
 
       <!-- <el-button type="danger" size="small" icon="Delete" :disabled="multiple" @click="handleDelete"
         v-hasPermi="['business:archive:order:remove']">删除</el-button> -->
@@ -13,19 +19,43 @@
         </el-button>
         <template #dropdown>
           <el-dropdown-menu>
-            <el-dropdown-item icon="Delete" :disabled="single" @click="handleAlter"
-              v-hasPermi="['business:archive:order:alter']">
-              合同变更</el-dropdown-item>
-            <el-dropdown-item icon="Delete" :disabled="single" @click="handleDissolution"
-              v-hasPermi="['business:archive:order:dissolution']">
-              合同解除</el-dropdown-item>
-            <el-dropdown-item icon="Delete" :disabled="multiple" @click="handleDelete"
-              v-hasPermi="['business:archive:order:remove']">
-              删除合同</el-dropdown-item>
-            <el-dropdown-item icon="Download" @click="handleExport" v-hasPermi="['business:archive:order:export']">
-              导出</el-dropdown-item>
-            <el-dropdown-item icon="Upload" @click="handleImport"
-              v-hasPermi="['business:archive:order:export']">导入</el-dropdown-item>
+            <el-dropdown-item
+              icon="Delete"
+              :disabled="single"
+              @click="handleAlter"
+              v-hasPermi="['business:archive:order:alter']"
+            >
+              合同变更</el-dropdown-item
+            >
+            <el-dropdown-item
+              icon="Delete"
+              :disabled="single"
+              @click="handleDissolution"
+              v-hasPermi="['business:archive:order:dissolution']"
+            >
+              合同解除</el-dropdown-item
+            >
+            <el-dropdown-item
+              icon="Delete"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['business:archive:order:remove']"
+            >
+              删除合同</el-dropdown-item
+            >
+            <el-dropdown-item
+              icon="Download"
+              @click="handleExport"
+              v-hasPermi="['business:archive:order:export']"
+            >
+              导出</el-dropdown-item
+            >
+            <el-dropdown-item
+              icon="Upload"
+              @click="handleImport"
+              v-hasPermi="['business:archive:order:export']"
+              >导入</el-dropdown-item
+            >
             <!-- <el-dropdown-item type="warning" size="small" icon="Download" @click="handleArea"
               v-hasPermi="['business:archive:order:export']"> area</el-dropdown-item> -->
           </el-dropdown-menu>
@@ -36,135 +66,364 @@
       <!--<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>-->
     </div>
     <!-- 搜索区 -->
-    <el-form class="list-search-container" size="small" :model="queryParams" ref="queryRef" :inline="true"
-      label-width="68px">
+    <el-form
+      class="list-search-container"
+      size="small"
+      :model="queryParams"
+      ref="queryRef"
+      :inline="true"
+      label-width="68px"
+    >
       <el-form-item label="客户名称:" prop="companyName">
-        <el-input v-model="queryParams.companyName" placeholder="请输入客户名称" clearable style="width: 200px"
-          @keyup.enter="handleQuery" />
+        <el-input
+          v-model="queryParams.companyName"
+          placeholder="请输入客户名称"
+          clearable
+          style="width: 200px"
+          @keyup.enter="handleQuery"
+        />
       </el-form-item>
       <el-form-item label="合同类型:" prop="contractType">
-        <el-select size="small" v-model="queryParams.contractType" placeholder="服务类型" clearable style="width: 100px;">
-          <el-option v-for="item in contractTypes" :key="item.value" :label="item.label" :value="item.value" />
+        <el-select
+          size="small"
+          v-model="queryParams.contractType"
+          placeholder="服务类型"
+          clearable
+          style="width: 100px"
+        >
+          <el-option
+            v-for="item in contractTypes"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="服务类型:" prop="serviceType">
-        <el-select size="small" v-model="queryParams.serviceType" placeholder="合同类型" clearable style="width: 100px;">
-          <el-option v-for="item in serviceTypes" :key="item.value" :label="item.label" :value="item.value" />
+        <el-select
+          size="small"
+          v-model="queryParams.serviceType"
+          placeholder="合同类型"
+          clearable
+          style="width: 100px"
+        >
+          <el-option
+            v-for="item in serviceTypes"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button type="primary" icon="Search" @click="handleQuery"
+          >搜索</el-button
+        >
         <el-button icon="operation" @click="moreSearch = true">更多</el-button>
         <el-button icon="Refresh" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
     <!-- 列表区 -->
-    <el-table v-loading="loading" :data="orderList" size="small" border height="100%"
-      @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="orderList"
+      size="small"
+      border
+      height="100%"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="客户名称" align="center" prop="companyName" min-width="250" />
-      <el-table-column label="税号" align="center" prop="socialCreditCode" min-width="200" />
-      <el-table-column label="合同编号" align="center" prop="contractNo" min-width="150" />
-      <el-table-column label="签约日期" align="center" prop="formDate" width="80">
+      <el-table-column
+        label="客户名称"
+        align="center"
+        prop="companyName"
+        min-width="250"
+      />
+      <el-table-column
+        label="税号"
+        align="center"
+        prop="socialCreditCode"
+        min-width="200"
+      />
+      <el-table-column
+        label="合同编号"
+        align="center"
+        prop="contractNo"
+        min-width="150"
+      />
+      <el-table-column
+        label="签约日期"
+        align="center"
+        prop="formDate"
+        width="80"
+      >
         <template #default="scope">
           <span>{{ parseTime(scope.row.formDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="签约金额" header-align="center" align="right" prop="amount" width="80" />
-      <el-table-column label="签单人" align="center" prop="signerName" min-width="120" />
-      <el-table-column label="合同来源" align="center" prop="sourceCategoryName" min-width="120" />
-      <el-table-column label="审核状态" align="center" prop="verifyStatus" width="110">
+      <el-table-column
+        label="签约金额"
+        header-align="center"
+        align="right"
+        prop="trueAmount"
+        width="80"
+      />
+      <el-table-column
+        label="签单人"
+        align="center"
+        prop="signerName"
+        min-width="120"
+      />
+      <el-table-column
+        label="合同来源"
+        align="center"
+        prop="sourceCategoryName"
+        min-width="120"
+      />
+      <el-table-column
+        label="审核状态"
+        align="center"
+        prop="verifyStatus"
+        width="110"
+      >
         <template #default="scope">
-          <dict-tag :options="contract_verify_status" :value="scope.row.verifyStatus" />
+          <dict-tag
+            :options="contract_verify_status"
+            :value="scope.row.verifyStatus"
+          />
         </template>
       </el-table-column>
-      <el-table-column label="合同类型" align="center" prop="contractType" width="80">
+      <el-table-column
+        label="合同类型"
+        align="center"
+        prop="contractType"
+        width="80"
+      >
         <template #default="scope">
           {{ scope.row.contractType === 0 ? "新签" : "续签" }}
         </template>
       </el-table-column>
-      <el-table-column label="服务类型" align="center" prop="serviceType" width="80">
+      <el-table-column
+        label="服务类型"
+        align="center"
+        prop="serviceType"
+        width="80"
+      >
         <template #default="scope">
           {{ scope.row.serviceType === 1 ? "循环" : "代办" }}
         </template>
       </el-table-column>
-      <el-table-column label="合同状态" width="110" align="center" prop="status">
+      <el-table-column
+        label="合同状态"
+        width="110"
+        align="center"
+        prop="status"
+      >
         <template #default="scope">
           <dict-tag :options="contract_status" :value="scope.row.status" />
         </template>
       </el-table-column>
-      <el-table-column label="操作" fixed="right" align="center" width="130" class-name="small-padding fixed-width">
+      <el-table-column
+        label="操作"
+        fixed="right"
+        align="center"
+        width="130"
+        class-name="small-padding fixed-width"
+      >
         <template #default="scope">
-          <el-button link type="primary" size="small" @click="handleUpdate(scope.row)"
-            v-hasPermi="['business:archive:order:edit']">查看</el-button>
-          <el-button link type="danger" size="small" @click="handleDelete(scope.row)"
-            v-hasPermi="['business:archive:order:remove']">删除</el-button>
+          <el-button
+            link
+            type="primary"
+            size="small"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:archive:order:edit']"
+            >查看</el-button
+          >
+          <el-button
+            link
+            type="danger"
+            size="small"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['business:archive:order:remove']"
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
     <contract-form ref="contractRef" :get-list="getList" />
     <import-excel-dialog ref="importExcelDialogRef" :get-list="getList" />
     <!-- 分页 -->
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
-      @pagination="getList" />
-    <el-dialog title="更多搜索" v-model="moreSearch" width="620px" append-to-body size="small" draggable>
-      <el-form :model="queryParams" ref="queryRef" :rules="rules" size="small" label-width="100">
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize"
+      @pagination="getList"
+    />
+    <el-dialog
+      title="更多搜索"
+      v-model="moreSearch"
+      width="620px"
+      append-to-body
+      size="small"
+      draggable
+    >
+      <el-form
+        :model="queryParams"
+        ref="queryRef"
+        :rules="rules"
+        size="small"
+        label-width="100"
+      >
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="客户名称:" prop="companyName">
-              <el-input v-model="queryParams.companyName" placeholder="请输入客户名称" clearable style="width: 200px"
-                @keyup.enter="handleQuery" />
+              <el-input
+                v-model="queryParams.companyName"
+                placeholder="请输入客户名称"
+                clearable
+                style="width: 200px"
+                @keyup.enter="handleQuery"
+              />
             </el-form-item>
             <el-form-item label="服务类型:" prop="serviceType">
-              <el-select size="small" v-model="queryParams.serviceType" placeholder="合同类型" clearable style="width: 100%;">
-                <el-option v-for="item in serviceTypes" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.serviceType"
+                placeholder="合同类型"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in serviceTypes"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="代理记账:" prop="isKeepAccount">
-              <el-select size="small" v-model="queryParams.isKeepAccount" placeholder="是否记账" clearable
-                style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isKeepAccount"
+                placeholder="是否记账"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="公积金代缴:" prop="isHousingFund">
-              <el-select size="small" v-model="queryParams.isHousingFund" placeholder="是否代缴公积金" clearable
-                style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isHousingFund"
+                placeholder="是否代缴公积金"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="注册:" prop="isRegister">
-              <el-select size="small" v-model="queryParams.isRegister" placeholder="是否注册" clearable style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isRegister"
+                placeholder="是否注册"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="合同类型:" prop="contractType">
-              <el-select size="small" v-model="queryParams.contractType" placeholder="服务类型" clearable
-                style="width: 100%;">
-                <el-option v-for="item in contractTypes" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.contractType"
+                placeholder="服务类型"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in contractTypes"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="签约日期:" prop="formDate">
-              <el-date-picker clearable v-model="queryParams.formDate" type="date" value-format="YYYY-MM-DD"
-                placeholder="请选择签约日期" />
+              <el-date-picker
+                clearable
+                v-model="queryParams.formDate"
+                type="date"
+                value-format="YYYY-MM-DD"
+                placeholder="请选择签约日期"
+              />
             </el-form-item>
             <el-form-item label="社保代缴:" prop="isSocialSecurity">
-              <el-select size="small" v-model="queryParams.isSocialSecurity" placeholder="是否代缴社保" clearable
-                style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isSocialSecurity"
+                placeholder="是否代缴社保"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="返税申报:" prop="isReturnTax">
-              <el-select size="small" v-model="queryParams.isReturnTax" placeholder="是否申报返税" clearable
-                style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isReturnTax"
+                placeholder="是否申报返税"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
             <el-form-item label="变更:" prop="isAlter">
-              <el-select size="small" v-model="queryParams.isAlter" placeholder="是否变更" clearable style="width: 100%;">
-                <el-option v-for="item in yesOrNo" :key="item.value" :label="item.label" :value="item.value" />
+              <el-select
+                size="small"
+                v-model="queryParams.isAlter"
+                placeholder="是否变更"
+                clearable
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in yesOrNo"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -172,8 +431,16 @@
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button type="primary" icon="Finished" size="small" @click="handleQuery">确 定</el-button>
-          <el-button icon="close" size="small" @click="moreSearch = false">取 消</el-button>
+          <el-button
+            type="primary"
+            icon="Finished"
+            size="small"
+            @click="handleQuery"
+            >确 定</el-button
+          >
+          <el-button icon="close" size="small" @click="moreSearch = false"
+            >取 消</el-button
+          >
         </div>
       </template>
     </el-dialog>
@@ -185,9 +452,7 @@ import { dissolutionOrder } from "../../../../api/business/crm/contract";
 import contractForm from "./form";
 import { listOrder, delOrder, exportOrder } from "@/api/business/crm/contract";
 import importExcelDialog from "./importExcelDialog.vue";
-import {
-  yesOrNo,
-} from "@/utils/default";
+import { yesOrNo } from "@/utils/default";
 const { proxy } = getCurrentInstance();
 /** 字典数组区 */
 /** 查询 对象 */
@@ -201,21 +466,27 @@ const total = ref(0);
 const importExcelDialogRef = ref(null);
 const moreSearch = ref(false);
 
-const contractTypes = ref([{
-  label: '新签',
-  value: 0
-}, {
-  label: '续签',
-  value: 1
-}])
+const contractTypes = ref([
+  {
+    label: "新签",
+    value: 0,
+  },
+  {
+    label: "续签",
+    value: 1,
+  },
+]);
 
-const serviceTypes = ref([{
-  label: '循环服务',
-  value: 1
-}, {
-  label: '单次服务',
-  value: 2
-}])
+const serviceTypes = ref([
+  {
+    label: "循环服务",
+    value: 1,
+  },
+  {
+    label: "单次服务",
+    value: 2,
+  },
+]);
 
 const { contract_verify_status } = proxy.useDict("contract_verify_status");
 const { contract_status } = proxy.useDict("contract_status");
@@ -333,7 +604,7 @@ function handleDelete(row) {
       getList();
       proxy.$modal.msgSuccess("删除成功!");
     })
-    .catch(() => { });
+    .catch(() => {});
 }
 
 function handleAlter(row) {
@@ -357,7 +628,7 @@ function handleDissolution() {
       getList();
       proxy.$modal.msgSuccess("解除成功!");
     })
-    .catch(() => { });
+    .catch(() => {});
 }
 
 /** 导出按钮操作 */

+ 36 - 30
src/views/system/inItRole/index.vue

@@ -151,7 +151,7 @@
         <el-form-item label="角色名称" prop="roleName">
           <el-input v-model="form.roleName" placeholder="请输入角色名称" />
         </el-form-item>
-        <el-form-item prop="roleKey">
+        <!-- <el-form-item prop="roleKey">
           <template #label>
             <span>
               <el-tooltip
@@ -171,7 +171,7 @@
             controls-position="right"
             :min="0"
           />
-        </el-form-item>
+        </el-form-item> -->
         <!-- <el-form-item label="状态">
           <el-radio-group v-model="form.status">
             <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
@@ -297,6 +297,7 @@ import {
 } from "@/api/system/inItRole";
 import { treeselect as menuTreeselect } from "@/api/system/menu";
 import { roleMenuTreeselect } from "@/api/system/menuInIt";
+import { ref } from "vue";
 
 const router = useRouter();
 const { proxy } = getCurrentInstance();
@@ -311,6 +312,7 @@ const single = ref(true);
 const multiple = ref(true);
 const total = ref(0);
 const title = ref("");
+const isAdd = ref(false);
 const dateRange = ref([]);
 const menuOptions = ref([]);
 const menuExpand = ref(false);
@@ -482,6 +484,7 @@ function reset() {
 }
 /** 添加角色 */
 function handleAdd() {
+  isAdd.value = true;
   reset();
   getMenuTreeselect();
   open.value = true;
@@ -490,24 +493,26 @@ function handleAdd() {
 /** 修改角色 */
 function handleUpdate(row) {
   reset();
+  isAdd.value = false;
   const roleId = row.id || ids.value;
   const roleMenu = getRoleMenuTreeselect(roleId);
-  // getRole(roleId).then((response) => {
-  //   form.value = response.data;
-  //   form.value.roleSort = Number(form.value.roleSort);
-  //   open.value = true;
-  // nextTick(() => {
-  //   roleMenu.then((res) => {
-  //     let checkedKeys = res.checkedKeys;
-  //     checkedKeys.forEach((v) => {
-  //       nextTick(() => {
-  //         menuRef.value.setChecked(v, true, false);
-  //       });
-  //     });
-  //   });
-  // });
-  //   title.value = "修改角色";
-  // });
+  getRole(roleId).then((response) => {
+    console.log(response);
+    form.value = response.data;
+    form.value.roleSort = Number(form.value.roleSort);
+    open.value = true;
+    nextTick(() => {
+      roleMenu.then((res) => {
+        let checkedKeys = res.checkedKeys;
+        checkedKeys.forEach((v) => {
+          nextTick(() => {
+            menuRef.value.setChecked(v, true, false);
+          });
+        });
+      });
+    });
+    title.value = "修改角色";
+  });
 }
 /** 根据角色ID查询菜单树结构 */
 function getRoleMenuTreeselect(roleId) {
@@ -566,20 +571,21 @@ function getMenuAllCheckedKeys() {
 function submitForm() {
   proxy.$refs["roleRef"].validate((valid) => {
     if (valid) {
-      if (form.value.roleId != undefined) {
-        form.value.menuIds = getMenuAllCheckedKeys();
-        updateRole(form.value).then((response) => {
-          proxy.$modal.msgSuccess("修改成功");
-          open.value = false;
-          getList();
-        });
+      if (form.value.id != undefined) {
+        // form.value.menuIds = getMenuAllCheckedKeys();
+        // updateRole(form.value).then((response) => {
+        //   proxy.$modal.msgSuccess("修改成功");
+        //   open.value = false;
+        //   getList();
+        // });
       } else {
         form.value.menuIds = getMenuAllCheckedKeys();
-        addRole(form.value).then((response) => {
-          proxy.$modal.msgSuccess("新增成功");
-          open.value = false;
-          getList();
-        });
+        console.log("菜单", form.value.menuIds);
+        // addRole(form.value).then((response) => {
+        proxy.$modal.msgSuccess("新增成功");
+        //   open.value = false;
+        //   getList();
+        // });
       }
     }
   });