Переглянути джерело

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

ouyang 2 роки тому
батько
коміт
c96b4424d8

+ 2 - 2
.env.development

@@ -13,9 +13,9 @@ ENV = 'development'
 #VUE_APP_BASE_API = 'http://10.87.10.47:8080'
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
-VUE_APP_BASE_API = 'http://localhost:8080'
+# VUE_APP_BASE_API = 'http://localhost:8080'
 # 55环境
-# VUE_APP_BASE_API = 'http://10.87.10.55:8080'
+VUE_APP_BASE_API = 'http://localhost:8080'
 
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 1
src/components/K-FileUpload/index.vue

@@ -307,7 +307,9 @@ export default {
         a.click();
       },
       clearFiles(){
-        this.$refs["fileUpload"].clearFiles();
+        if(this.$refs["fileUpload"])
+          this.$refs["fileUpload"].clearFiles();
+        
         this.fileList = [];
         this.fileValueList = [];
       },

+ 2 - 0
src/components/orgTree/orgDropDown.vue

@@ -6,6 +6,8 @@
     v-bind="$attrs"
     @select="select"
     ref="tree"
+    noResultsText="暂无符合条件的数据"
+    clearValueText="清除"
   />
 </template>
 <script>

+ 7 - 2
src/components/table/gx.search.table.vue

@@ -30,7 +30,8 @@
               @sort-change="onSort"
               v-if="$slots['columns']"
               :data="dataList"
-              :max-height="tableHeight"
+              :max-height="tableMaxHeight"
+              :height="tableHeight"
               border
               stripe
               :row-key="rowKey"
@@ -110,9 +111,13 @@ export default {
         return []
       },
     },
-    tableHeight:{
+    tableMaxHeight:{
       type:Number,
       default:400
+    },
+    tableHeight:{
+      type:Number,
+      default:250
     }
   },
   model: {

+ 11 - 11
src/views/core/accessPlan/index.vue

@@ -102,7 +102,7 @@
               <el-button size="mini" type="text" v-if="scope.row.orgId==isEdit&&scope.row.isDistribute == 0 && (scope.row.planStatus==0||scope.row.planStatus==2)" icon="el-icon-arrow-down"
                          @click="handDistribute(scope.row)" v-hasPermi="['core:accessPlan:add']">下发
               </el-button>
-              <el-button size="mini" type="text" v-if="scope.row.orgId==isEdit&&scope.row.isDistribute == 1 && scope.row.planStatus==1" icon="el-icon-arrow-down"
+              <el-button size="mini" type="text" v-if="scope.row.orgId==isEdit&&scope.row.isDistribute == 1 && scope.row.planStatus==1&&scope.row.parentId==null" icon="el-icon-arrow-down"
                          @click="handWithdraw(scope.row)" >撤回
               </el-button>
               <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-if="(scope.row.parentOrgId==isEdit)&&scope.row.parentId==null && check==true"
@@ -129,38 +129,38 @@
         <el-form-item label="机构类型" prop="orgType">
           <el-select style="width: 100%;" v-model="form.orgType" placeholder="请选择机构类型" @change="changeSelect">
             <el-option v-for="dict in dict.type.sys_org_type" :key="dict.value" :label="dict.label"
-                       :value="`${dict.value}`" :disabled="form.isEdit"></el-option>
+                       :value="`${dict.value}`" :disabled="form.isEdit||form.isComplete"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="调阅周期" prop="planCycle">
           <el-select style="width: 100%;" v-model="form.planCycle" placeholder="请选择调阅周期">
             <el-option v-for="dict in dict.type.sys_access_cycle" :key="dict.value" :label="dict.label"
-                       :value="`${dict.value}`" :disabled="form.isEdit"></el-option>
+                       :value="`${dict.value}`" :disabled="form.isEdit||form.isComplete"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item prop="startTime" v-if="form.planCycle == 0" label="开始日期">
           <el-date-picker style="width: 100%;" v-model="form.startTime" @change="startDateChanged" :picker-options="startDatepickerOptions"
-                          align="right" type="date" placeholder="选择开始日期" :disabled="form.isEdit">
+                          align="right" type="date" placeholder="选择开始日期" :disabled="form.isEdit||form.isComplete">
           </el-date-picker>
         </el-form-item>
         <el-form-item prop="endTime" v-if="form.planCycle == 0" label="结束日期">
           <el-date-picker style="width: 100%;" v-model="form.endTime" :picker-options="endDatepickerOptions" align="right" type="date"
-                          placeholder="选择结束日期" :disabled="form.isEdit">
+                          placeholder="选择结束日期" :disabled="form.isEdit||form.isComplete">
           </el-date-picker>
         </el-form-item>
 
         <el-form-item label="调阅角色" prop="roleId">
           <el-select style="width: 100%;" v-model="form.roleId" placeholder="请选择调阅角色" @change="changeSelectOrgType">
-            <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id" :disabled="form.isEdit"></el-option>
+            <el-option v-for="item in roleList" :key="item.id" :label="item.roleName" :value="item.id" :disabled="form.isEdit||form.isComplete"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="调阅频次" prop="planFrequency" v-if="form.isEdit==true">
           <el-input type="number" @change="numChange"
-                    v-model.number="form.planFrequency" placeholder="请输入调阅频次"/>
+                    v-model.number="form.planFrequency" placeholder="请输入调阅频次" :disabled="form.isComplete"/>
         </el-form-item>
         <el-form-item label="调阅频次" prop="planFrequency" v-if="form.isEdit==false||form.isEdit==null">
           <el-input type="number"  :min="1" oninput="if(value<0)value=1"
-                    v-model.number="form.planFrequency" placeholder="请输入调阅频次"/>
+                    v-model.number="form.planFrequency" placeholder="请输入调阅频次" :disabled="form.isComplete"/>
         </el-form-item>
         <!-- <el-form-item label="计划状态" prop="planStatus">
           <el-radio-group v-model="form.planStatus">
@@ -173,14 +173,14 @@
               <el-checkbox v-model="form.immediately">
               
                 <el-popover placement="top-start" title="" width="200" trigger="hover"
-                            content="">
+                            content="" :disabled="form.isEdit">
                 </el-popover>
               </el-checkbox>
             </el-form-item> 
 
        
         <el-form-item label="备注" prop="description">
-          <el-input v-model="form.description" type="textarea" placeholder="请输入备注" :disabled="form.isEdit"/>
+          <el-input v-model="form.description" type="textarea" placeholder="请输入备注" :disabled="form.isEdit||form.isComplete"/>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -480,7 +480,7 @@
 
       },
       handWithdraw(row){
-        this.$modal.confirm('是否确认撤回监控调阅计划"' + row.planName + '"的数据项?').then(function () {
+        this.$modal.confirm('撤回计划会清除本周期所有任务?').then(function () {
           return withdraw(row.id);
         }).then(() => {
           this.getList();

+ 2 - 3
src/views/core/drill/plan/dialog.select.file.vue

@@ -36,12 +36,11 @@
           <el-table-column
             prop="orgName"
             label="资料上传机构"
-           min-width="40%"
+           width="250"
           ></el-table-column>
-          <el-table-column label="资料标题" prop="title" min-width="40%"> </el-table-column>
+          <el-table-column label="资料标题" prop="title" width="300"> </el-table-column>
           <el-table-column
             label="资料附件"
-            min-width="20%"
           >
           <template slot-scope="scope">
             <template v-if="scope.row.fileList">

+ 13 - 7
src/views/core/drill/plan/index.vue

@@ -136,12 +136,17 @@
 
           <el-col :span="12" v-show="form.planCycle != 0">
             <el-form-item label="立即生效" prop="buildTaskNow">
-              <el-checkbox v-model="form.buildTaskNow">
+<!--              <el-checkbox v-model="form.buildTaskNow">
                 默认从下个周期...
                 <el-popover placement="top-start" title="" width="200" trigger="hover"
                             content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
                   <i class="el-icon-warning-outline change-icon" slot="reference"></i>
                 </el-popover>
+              </el-checkbox>-->
+              <el-checkbox v-model="form.buildTaskNow">
+                默认从下个周期生成任务,
+                <br/>
+                勾选后从当前周期立即生成任务
               </el-checkbox>
             </el-form-item>
           </el-col>
@@ -194,14 +199,14 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+<!--          <el-col :span="12">
             <el-form-item v-if="this.form.id" label="计划状态" prop="planStatus">
               <el-select v-model="form.planStatus" placeholder="请选择计划状态" style="width: 100%;">
                 <el-option v-for="dict in dict.type.drill_plan_status" :key="dict.value" :label="dict.label"
                            :value="parseInt(dict.value)"></el-option>
               </el-select>
             </el-form-item>
-          </el-col>
+          </el-col>-->
         </el-row>
         <el-row>
           <el-col :span="24">
@@ -407,9 +412,10 @@ export default {
     },
     checkCanDel(row) {
       // console.log("checkCanEdit",this.$store.getters.orgId,row)
-      //计划创建机构为当前机构且不是顶级机构创建的计划才显示“删除”按钮
-      return (row.belongOrgId == this.$store.getters.orgId || row.createOrgId == this.$store.getters.orgId)
-        && (row.issue != 1 || (row.issue == 1 && row.done != 1))
+      // 计划仅能够通过删除标准计划来删除
+     /* return (row.belongOrgId == this.$store.getters.orgId || row.createOrgId == this.$store.getters.orgId)
+        && (row.issue != 1 || (row.issue == 1 && row.done != 1))*/
+      return row.standard == 1 && row.done != 1
     },
     //省联社下发的计划不显示“删除”按钮
     checkCreateByTopOrg(row) {
@@ -579,7 +585,7 @@ export default {
     //撤回计划
     handleRevocation(row) {
       if (row.id != null) {
-        this.$modal.confirm(this.getMsgStr(row, '撤回')).then(function () {
+        this.$modal.confirm('撤回计划会清除本周期所有任务,是否继续?').then(function () {
           return revocationPlan(row.id);
         }).then(() => {
           this.$modal.msgSuccess("计划撤回成功");

+ 3 - 4
src/views/core/edu/plan/dialog.select.file.vue

@@ -8,7 +8,7 @@
     top="10vh"
     append-to-body
   >
-    <div class="el-dialog-div">
+    <div class="el-dialog-div" style="margin-bottom:20px">
       <g-search-table
         ref="st"
         url="/core/materials/fileList"
@@ -35,12 +35,11 @@
           <el-table-column
             prop="orgName"
             label="资料上传机构"
-           min-width="40%"
+            width="250"
           ></el-table-column>
-          <el-table-column label="资料标题" prop="title" min-width="40%"> </el-table-column>
+          <el-table-column label="资料标题" prop="title" width="300"> </el-table-column>
           <el-table-column
             label="资料附件"
-            min-width="20%"
           >
           <template slot-scope="scope">
             <template v-if="scope.row.fileList">

+ 18 - 14
src/views/core/edu/plan/index.vue

@@ -13,7 +13,7 @@
 
           <el-form-item label="培训主题" prop="planName">
             <el-input v-model="queryParams.planName" placeholder="请输入培训主题" clearable
-                      maxlength="50" show-word-limit
+                      maxlength="50"
                       @keyup.enter.native="handleQuery"/>
           </el-form-item>
           <el-form-item label="培训机构类型" prop="execOrgType">
@@ -83,8 +83,8 @@
           size="small" :data="planList" @selection-change="handleSelectionChange" row-key="id">
           <!-- :tree-props="{ children: 'children' }" -->
           <el-table-column label="序号" align="center" prop="no" width="60"/>
-          <el-table-column label="培训主题" align="left" width="200" prop="planName"/>
-          <el-table-column label="创建机构" align="left" width="180" prop="createOrgName"/>
+          <el-table-column label="培训主题" align="left" header-align="center" width="200" prop="planName"/>
+          <el-table-column label="创建机构" align="left" header-align="center" width="180" prop="createOrgName"/>
           <!-- <el-table-column label="所属机构" align="left" width="180" prop="belongOrgName"/> -->
           <el-table-column label="培训机构类型" align="center" width="180" prop="execOrgType">
             <template slot-scope="scope">
@@ -147,7 +147,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="培训主题" prop="planName" class="endItem" >
-              <el-input v-model="form.planName" maxlength="50" show-word-limit placeholder="请输入培训主题"/>
+              <el-input v-model="form.planName" maxlength="50" placeholder="请输入培训主题"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -165,11 +165,13 @@
           <el-col :span="12" v-show="form.planCycle != 0">
             <el-form-item label="立即生效" prop="buildTaskNow">
               <el-checkbox v-model="form.buildTaskNow">
-                默认从下个周期...
-                <el-popover placement="top-start" title="" width="200" trigger="hover"
+                默认从下个周期生成任务,
+                <br/>
+                勾选后从当前周期立即生成任务
+<!--                <el-popover placement="top-start" title="" width="200" trigger="hover"
                             content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
                   <i class="el-icon-warning-outline change-icon" slot="reference"></i>
-                </el-popover>
+                </el-popover>-->
               </el-checkbox>
             </el-form-item>
 
@@ -220,14 +222,14 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="12">
+<!--          <el-col :span="12">
             <el-form-item v-if="this.form.id" label="计划状态" prop="planStatus">
               <el-select style="width: 100%" v-model="form.planStatus" placeholder="请选择计划状态">
                 <el-option v-for="dict in dict.type.edu_plan_status" :key="dict.value" :label="dict.label"
                            :value="parseInt(dict.value)"></el-option>
               </el-select>
             </el-form-item>
-          </el-col>
+          </el-col>-->
           <el-col :span="12">
             <el-form-item v-show="form.execOrgType" label="培训机构" prop="planExecOrgIdList">
               <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType"
@@ -239,7 +241,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" maxlength="200" type="textarea" show-word-limit placeholder="请输入备注"/>
+              <el-input v-model="form.remark" maxlength="200" :autosize="{ minRows: 2, maxRows: 4}" type="textarea" show-word-limit placeholder="请输入备注"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -454,9 +456,11 @@ export default {
       return (row.belongOrgId == this.$store.getters.orgId || row.createOrgId == this.$store.getters.orgId)
     },
     checkCanDel(row) {
-      // 计划所属机构or创建机构 =当前登陆人机构  && 创建机构为省联社  && 不是被下发的  && 计划下不存在已有执行任务的情况
-      return (row.createOrgId == this.$store.getters.orgId)
-        && (row.issue != 1 || (row.issue == 1 && row.done != 1))
+      // 计划仅能够通过删除标准计划来删除
+     /* return (row.belongOrgId == this.$store.getters.orgId)
+       /!* && (row.issue != 1 || (row.issue == 1 && row.done != 1))*!/
+        && !row.parentId && row.createByTopOrg!=1*/
+      return row.standard == 1 && row.done != 1
     },
     //省联社下发的计划不显示“删除”按钮
     checkCreateByTopOrg(row) {
@@ -638,7 +642,7 @@ export default {
     //撤回计划
     handleRevocation(row) {
       if (row.id != null) {
-        this.$modal.confirm(this.getMsgStr(row, '撤回')).then(function () {
+        this.$modal.confirm('撤回计划会清除本周期所有任务,是否继续?').then(function () {
           return revocationPlan(row.id);
         }).then(() => {
           this.$modal.msgSuccess("计划撤回成功");

+ 2 - 3
src/views/core/edu/task/index.vue

@@ -14,7 +14,6 @@
           placeholder="请输入培训主题"
           clearable
           maxlength="50"
-          show-word-limit
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -87,8 +86,8 @@
       height="600"
       size="small" v-loading="loading" :data="eduTaskList" @selection-change="handleSelectionChange">
       <el-table-column label="序号" align="center" width="70" prop="no" />
-      <el-table-column label="培训主题" width="200" align="left" prop="title" />
-      <el-table-column label="培训机构" width="200" align="left" prop="orgName" />
+      <el-table-column label="培训主题" width="200" align="left" header-align="center" prop="title" />
+      <el-table-column label="培训机构" width="200" align="left" header-align="center" prop="orgName" />
       <!-- <el-table-column label="开始时间" align="center" prop="startDate" width="180">
       </el-table-column>
       <el-table-column label="截止时间" align="center" prop="endDate" width="180"></el-table-column> -->

+ 23 - 22
src/views/resumption/plan/dialog.edit.vue

@@ -136,7 +136,6 @@
             <el-col :span="6">
               <el-form-item prop="roleList" label="履职角色:">
                 <el-select
-                  @visible-change="onOrgTypeChanged"
                   :disabled="isChildren()"
                   label="履职角色"
                   v-model="formData.roleList"
@@ -206,7 +205,7 @@
         <el-table :data="tableData" style="width: 100%" height="400px">
           <el-table-column label="是否扫描">
             <template v-slot="{ row }">
-              <el-switch
+              <el-switch :disabled="!getshenglianshe(row)"
                 v-model="row.pointScan"
                 active-text="是"
                 inactive-text="否"
@@ -217,7 +216,7 @@
 
           <el-table-column label="必完成项">
             <template v-slot="{ row }">
-              <el-switch
+              <el-switch :disabled="!getshenglianshe(row)"
                 v-model="row.required"
                 active-text="是"
                 inactive-text="否"
@@ -229,11 +228,12 @@
           </el-table-column>
           <el-table-column prop="itemName" label="履职项"> </el-table-column>
           <el-table-column prop="pointName" label="履职内容"> </el-table-column>
+          <el-table-column v-if="false" prop="ofOrgId" label="所属机构id"> </el-table-column>
           <el-table-column prop="areaName" label="履职区域"> </el-table-column>
           <el-table-column prop="areaName" label="操作">
             <template v-slot="{ row }">
               <el-button
-                v-if="getshenglianshe()"
+                v-if="getshenglianshe(row)"
                 type="text"
                 @click="removeRow(row)"
                 >删除</el-button
@@ -361,7 +361,7 @@ export default {
   },
   methods: {
     changeBuildTime() {
-      console.log(this.formData.planCycle, "this.formData.planCycle");
+      // console.log(this.formData.planCycle, "this.formData.planCycle");
       const dateObj = new Date(); // 获取当前时间对象
       switch (this.formData.planCycle) {
         case "2":
@@ -412,25 +412,23 @@ export default {
           break;
       }
     },
-    //是否子计划判断
+    //编辑内容判断
     isChildren() {
-      if (
-        this.formData.distributePlanStatus != null ||
-        this.id == null ||
-        this.formData.children == null
-      ) {
+      // console.log(this.formData.distributePlanStatus,"distributePlanStatus")
+      if (this.formData.distributePlanStatus!=1&&(
+        this.formData.hasEdit != 1 ||
+        this.id == null 
+      )) {
         return false;
       } else return true;
     },
     //省联社履职内容不能删除
-    getshenglianshe() {
+    getshenglianshe(row) {
       if (
-        this.formData.planCreateOrgType != null &&
-        this.formData.planCreateOrgType == 1 &&
-        this.formData.distributePlanStatus != null
+        row.ofOrgId==this.orgId
       ) {
-        return false;
-      } else return true;
+        return true;
+      } else return false;
     },
     //选择计划类型修改联动框
     changeData() {
@@ -604,7 +602,7 @@ export default {
       }
     },
     handleChange(value) {
-      console.log(value);
+      // console.log(value);
       this.count = value;
     },
     async refresh(id, other) {
@@ -614,7 +612,7 @@ export default {
       }
     },
     onSelect(selectList) {
-      console.log(selectList);
+      // console.log(selectList);
       if (this.tableData == null) {
         this.tableData = [];
       }
@@ -623,8 +621,10 @@ export default {
       for (let i = 0; i < selectList.length; i++) {
         let item = selectList[i];
         let exist = this.tableData.find((d) => d.id == item.id);
+        console.log(this.orgId,"this.orgId")
         if (!exist) {
           let tem = {
+            ofOrgId:this.orgId,
             pointScan: !item.pointScan,
             required: !item.required,
             ruleName: item.ruleName,
@@ -636,6 +636,7 @@ export default {
           };
 
           this.tableData.push(tem);
+          // console.log(tem,"tem")
         }
       }
     },
@@ -651,10 +652,10 @@ export default {
       this.tableData = null;
       this.formData.itemList = null;
       await this.refresh(id, other);
-      console.log(id);
+      // console.log(id);
       if (id !== undefined) {
         await api.get(id).then((res) => {
-          console.log(res, "res");
+          // console.log(res, "res");
           this.tableData = res.data.itemList;
         });
       }
@@ -688,7 +689,7 @@ export default {
       if (!this.tableData) {
         return [];
       } else {
-        console.log();
+        // console.log();
         return this.tableData.map((d) => d.id);
       }
     },

+ 97 - 20
src/views/resumption/plan/index.vue

@@ -292,7 +292,7 @@
                 >编辑</el-button
               >
               <el-button
-                v-if="eqOrg(r.row)"
+                v-if="eqOrg2(r.row)"
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
@@ -313,6 +313,15 @@
                 size="mini"
                 type="text"
                 icon="el-icon-arrow-down"
+                v-if="newcheckCanPublish(r.row)"
+                @click="newshowDialogDistribute(r.row)"
+                v-hasPermi="['system:user:remove']"
+                >下发</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-arrow-down"
                 v-if="chehui(r.row)"
                 @click="chhuile(r.row)"
                 v-hasPermi="['system:user:remove']"
@@ -424,23 +433,48 @@ export default {
       if (row != null && row != undefined && row.planOfOrgId == this.orgId) {
         return true;
       }
+      return true;
+    },
+    eqOrg2(row) {
+      // console.log(row.planCreateOrgId,"row.planCreateOrgId");
+      // console.log(this.orgId,"this.orgId");
+      if (row != null && row != undefined && row.planCreateOrgId == this.orgId&& row.planOfOrgId == this.orgId) {
+        return true;
+      }
       return false;
     },
     //已完成下发的计划不显示下发按钮
     checkCanPublish(row) {
-      // console.log(row.planOfOrgType,"row.planOfOrgType")
-      if (row.planOfOrgType == "1" && row.distribute == 0) {
+
+      // console.log(row.planStatus,"row.planStatus")
+      if ((row.planOfOrgType == "1" && row.distribute == 0)) {
+        return true;
+      }
+      return false;
+    },
+    newcheckCanPublish(row){
+      if (row.planStatus==2&& row.parentId != -1) {
         return true;
       }
       return false;
     },
     //开始撤回
     chhuile(row) {
-      this.loading = true;
-      api.cheHui(row.id).then((response) => {
-        this.getList();
-        this.loading = false;
-      });
+      this.$modal
+        .confirm("撤回计划会清除本周期所有任务!", "提示")
+        .then(() => {
+          // 用户点击了确认按钮
+          console.log("执行操作...");
+          this.loading = true;
+          api.cheHui(row.id).then((response) => {
+            this.getList();
+            this.loading = false;
+          });
+        })
+        .catch(() => {
+          // 用户点击了取消按钮
+          console.log("取消操作...");
+        });
     },
     //已下发的显示撤回
     chehui(row) {
@@ -494,15 +528,19 @@ export default {
     onEdit(id, other = {}) {
       this.$refs.editDialog.show(id, other);
     },
-    showDialogDistribute(row) {
-      this.loading = true;
+    newshowDialogDistribute(row){
+      this.$modal
+        .confirm("是否下发!", "提示")
+        .then(() => {
+          // 用户点击了确认按钮
+          console.log("执行操作...");
+          this.loading = true;
       api
         .distributeCheHui(row.id)
         .then((response) => {
           // console.log(response, "then");
           if (response.data == 0) {
             this.loading = false;
-            this.$refs.dialogDistribute.show(row);
           } else {
             this.getList();
             this.loading = false;
@@ -512,22 +550,61 @@ export default {
           // console.log(response, "catch");
           this.getList();
           this.loading = false;
-          this.$refs.dialogDistribute.show(row);
         });
+        })
+        .catch(() => {
+          // 用户点击了取消按钮
+          console.log("取消操作...");
+        });
+
+
+
+
+
+
+    },
+    showDialogDistribute(row) {
+      // this.loading = true;
+      // api
+      //   .distributeCheHui(row.id)
+      //   .then((response) => {
+      //     // console.log(response, "then");
+      //     if (response.data == 0) {
+      //       this.loading = false;
+      //       this.$refs.dialogDistribute.show(row);
+      //     } else {
+      //       this.getList();
+      //       this.loading = false;
+      //     }
+      //   })
+      //   .catch((response) => {
+      //     // console.log(response, "catch");
+      //     this.getList();
+      //     this.loading = false;
+      //     this.$refs.dialogDistribute.show(row);
+      //   });
+      this.$refs.dialogDistribute.show(row);
     },
     async onDel(id, name) {
       this.$modal
         .confirm('是否确认删除名称为"' + name + '"的数据项?')
-        .then(function () {
-          return api.delelte(id);
-        })
         .then(() => {
-          this.getList();
-          this.$modal.msgSuccess("删除成功");
+          // 用户点击了确认按钮
+          console.log("执行操作...");
+          this.loading = true;
+          api.delelte(id).then(() => {
+            this.getList();
+            this.loading = false;
+            this.$modal.msgSuccess("删除成功");
+            
+          }).catch(()=>{
+            this.loading = false;
+          });
         })
-        .catch(() => {});
-      // await api.delelte(id);
-      // this.getList();
+        .catch(() => {
+          // 用户点击了取消按钮
+          console.log("取消操作...");
+        });
     },
     // 多选框选中数据
     handleSelectionChange(selection) {

+ 1 - 0
src/views/system/device/index.vue

@@ -116,6 +116,7 @@
                 :props="{ checkStrictly: true, label: 'name' }"
                 placeholder="请选择归属机构"
                 @select="changeSelect"
+                 clearValueText="清除"
               />
             </el-form-item>
           </el-col>

+ 167 - 72
src/views/system/dict/data.vue

@@ -1,6 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="字典名称" prop="dictType">
         <el-select v-model="queryParams.dictType">
           <el-option
@@ -20,7 +27,11 @@
         />
       </el-form-item>
       <el-form-item label="状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="数据状态" clearable>
+        <el-select
+          v-model="queryParams.status"
+          placeholder="数据状态"
+          clearable
+        >
           <el-option
             v-for="dict in dict.type.sys_normal_disable"
             :key="dict.value"
@@ -30,8 +41,16 @@
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -43,7 +62,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:dict:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <!-- <el-col :span="1.5">
         <el-button
@@ -84,38 +104,78 @@
           icon="el-icon-close"
           size="mini"
           @click="handleClose"
-        >关闭</el-button>
+          >关闭</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
     <el-table
-    border
-    height="700"
-    size="small"
-    v-loading="loading"  :data="dataList" @selection-change="handleSelectionChange">
+      border
+      height="700"
+      size="small"
+      v-loading="loading"
+      :data="dataList"
+      @selection-change="handleSelectionChange"
+    >
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
       <el-table-column label="字典编码" align="center" prop="dictCode" />
       <el-table-column label="字典标签" align="center" prop="dictLabel">
         <template slot-scope="scope">
-          <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">{{scope.row.dictLabel}}</span>
-          <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">{{scope.row.dictLabel}}</el-tag>
+          <span
+            v-if="scope.row.listClass == '' || scope.row.listClass == 'default'"
+            >{{ scope.row.dictLabel }}</span
+          >
+          <el-tag
+            v-else
+            :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass"
+            >{{ scope.row.dictLabel }}</el-tag
+          >
         </template>
       </el-table-column>
       <el-table-column label="字典键值" align="center" prop="dictValue" />
       <el-table-column label="字典排序" align="center" prop="dictSort" />
       <el-table-column label="状态" align="center" prop="status">
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
+          <dict-tag
+            :options="dict.type.sys_normal_disable"
+            :value="scope.row.status"
+          />
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+      <el-table-column
+        label="备注"
+        align="center"
+        prop="remark"
+        :show-overflow-tooltip="true"
+      >
+        <template slot-scope="scope">
+          <el-tooltip  placement="top">
+            <div slot="content" class="tooltipClass">
+              {{ scope.row.remark }}
+            </div>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+
+      <el-table-column
+        label="创建时间"
+        align="center"
+        prop="createTime"
+        width="180"
+      >
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -123,20 +183,22 @@
             icon="el-icon-edit-outline"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['system:dict:edit']"
-          >编辑</el-button>
+            >编辑</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:dict:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -174,15 +236,16 @@
           <el-col :span="12">
             <el-form-item label="显示排序" prop="dictSort">
               <el-input-number
-              style="width: 100%;"
-              v-model="form.dictSort" controls-position="right" :min="0" />
+                style="width: 100%"
+                v-model="form.dictSort"
+                controls-position="right"
+                :min="0"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="回显样式" prop="listClass">
-              <el-select
-                style="width: 100%;"
-                v-model="form.listClass">
+              <el-select style="width: 100%" v-model="form.listClass">
                 <el-option
                   v-for="item in listClassOptions"
                   :key="item.value"
@@ -202,15 +265,19 @@
                   v-for="dict in dict.type.sys_normal_disable"
                   :key="dict.value"
                   :label="dict.value"
-                >{{dict.label}}</el-radio>
+                  >{{ dict.label }}</el-radio
+                >
               </el-radio-group>
             </el-form-item>
           </el-col>
-
         </el-row>
 
         <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
+          <el-input
+            v-model="form.remark"
+            type="textarea"
+            placeholder="请输入内容"
+          ></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -222,12 +289,21 @@
 </template>
 
 <script>
-import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data";
-import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type";
+import {
+  listData,
+  getData,
+  delData,
+  addData,
+  updateData,
+} from "@/api/system/dict/data";
+import {
+  optionselect as getDictOptionselect,
+  getType,
+} from "@/api/system/dict/type";
 
 export default {
   name: "Data",
-  dicts: ['sys_normal_disable'],
+  dicts: ["sys_normal_disable"],
   data() {
     return {
       // 遮罩层
@@ -254,28 +330,28 @@ export default {
       listClassOptions: [
         {
           value: "default",
-          label: "默认"
+          label: "默认",
         },
         {
           value: "primary",
-          label: "主要"
+          label: "主要",
         },
         {
           value: "success",
-          label: "成功"
+          label: "成功",
         },
         {
           value: "info",
-          label: "信息"
+          label: "信息",
         },
         {
           value: "warning",
-          label: "警告"
+          label: "警告",
         },
         {
           value: "danger",
-          label: "危险"
-        }
+          label: "危险",
+        },
       ],
       // 类型数据字典
       typeOptions: [],
@@ -285,22 +361,22 @@ export default {
         pageSize: 10,
         dictName: undefined,
         dictType: undefined,
-        status: undefined
+        status: undefined,
       },
       // 表单参数
       form: {},
       // 表单校验
       rules: {
         dictLabel: [
-          { required: true, message: "数据标签不能为空", trigger: "blur" }
+          { required: true, message: "数据标签不能为空", trigger: "blur" },
         ],
         dictValue: [
-          { required: true, message: "数据键值不能为空", trigger: "blur" }
+          { required: true, message: "数据键值不能为空", trigger: "blur" },
         ],
         dictSort: [
-          { required: true, message: "数据顺序不能为空", trigger: "blur" }
-        ]
-      }
+          { required: true, message: "数据顺序不能为空", trigger: "blur" },
+        ],
+      },
     };
   },
   created() {
@@ -311,7 +387,7 @@ export default {
   methods: {
     /** 查询字典类型详细 */
     getType(dictId) {
-      getType(dictId).then(response => {
+      getType(dictId).then((response) => {
         this.queryParams.dictType = response.data.dictType;
         this.defaultDictType = response.data.dictType;
         this.getList();
@@ -319,14 +395,14 @@ export default {
     },
     /** 查询字典类型列表 */
     getTypeList() {
-      getDictOptionselect().then(response => {
+      getDictOptionselect().then((response) => {
         this.typeOptions = response.data;
       });
     },
     /** 查询字典数据列表 */
     getList() {
       this.loading = true;
-      listData(this.queryParams).then(response => {
+      listData(this.queryParams).then((response) => {
         this.dataList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -344,10 +420,10 @@ export default {
         dictLabel: undefined,
         dictValue: undefined,
         cssClass: undefined,
-        listClass: 'default',
+        listClass: "default",
         dictSort: 0,
         status: "0",
-        remark: undefined
+        remark: undefined,
       };
       this.resetForm("form");
     },
@@ -376,34 +452,40 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.dictCode)
-      this.single = selection.length!=1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.dictCode);
+      this.single = selection.length != 1;
+      this.multiple = !selection.length;
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const dictCode = row.dictCode || this.ids
-      getData(dictCode).then(response => {
+      const dictCode = row.dictCode || this.ids;
+      getData(dictCode).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "编辑";
       });
     },
     /** 提交按钮 */
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.dictCode != undefined) {
-            updateData(this.form).then(response => {
-              this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
+            updateData(this.form).then((response) => {
+              this.$store.dispatch(
+                "dict/removeDict",
+                this.queryParams.dictType
+              );
               this.$modal.msgSuccess("处理成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addData(this.form).then(response => {
-              this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
+            addData(this.form).then((response) => {
+              this.$store.dispatch(
+                "dict/removeDict",
+                this.queryParams.dictType
+              );
               this.$modal.msgSuccess("处理成功");
               this.open = false;
               this.getList();
@@ -415,20 +497,33 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const dictCodes = row.dictCode || this.ids;
-      this.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() {
-        return delData(dictCodes);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-        this.$store.dispatch('dict/removeDict', this.queryParams.dictType);
-      }).catch(() => {});
+      this.$modal
+        .confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?')
+        .then(function () {
+          return delData(dictCodes);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+          this.$store.dispatch("dict/removeDict", this.queryParams.dictType);
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('system/dict/data/export', {
-        ...this.queryParams
-      }, `data_${new Date().getTime()}.xlsx`)
-    }
-  }
+      this.download(
+        "system/dict/data/export",
+        {
+          ...this.queryParams,
+        },
+        `data_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
 };
 </script>
+<style lang="scss" scoped>
+  .tooltipClass{
+    width: 300px;
+  }
+</style>